[SQL] MySQL의 여러 하나 개의 쿼리에서 조인?
SQLMySQL의 여러 하나 개의 쿼리에서 조인?
나는 다음과 같은 쿼리를 가지고 :
SELECT
dashboard_data.headline,
dashboard_data.message,
dashboard_messages.image_id
FROM dashboard_data
INNER JOIN dashboard_messages
ON dashboard_message_id = dashboard_messages.id
나는 내부 조인 사용하고 image_id를 잡아하고 그래서. 그래서 지금, 나는 그 image_id을하고 싶은 이미지 테이블에서 images.filename 변환합니다.
어떻게 쿼리에 그것을 추가 할 수 있습니까?
해결법
-
==============================
1.당신은 단순히 다음과 같이 가입 다른를 추가 할 수 있습니다 :
당신은 단순히 다음과 같이 가입 다른를 추가 할 수 있습니다 :
SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename FROM dashboard_data INNER JOIN dashboard_messages ON dashboard_message_id = dashboard_messages.id INNER JOIN images ON dashboard_messages.image_id = images.image_id
그 내부는 이미지없이 메시지가있는 경우, 전체 행은 건너 뜁니다, 가입이기 때문에,주의하십시오. 이 가능성이있는 경우, 당신은 LEFT OUTER 모든 대시 보드의 메시지가 존재하는 경우에만 image_filename을 반환하는 가입 수행 할 수 있습니다 (그렇지 않으면 널을 얻을 것이다)
SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename FROM dashboard_data INNER JOIN dashboard_messages ON dashboard_message_id = dashboard_messages.id LEFT OUTER JOIN images ON dashboard_messages.image_id = images.image_id
-
==============================
2.그냥 다른 조인을 추가 :
그냥 다른 조인을 추가 :
SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename FROM dashboard_data INNER JOIN dashboard_messages ON dashboard_message_id = dashboard_messages.id INNER JOIN images ON dashboard_messages.image_id = images.image_id
-
==============================
3.나는 왼쪽은 단일 SQL 쿼리 조인 두 가지를 사용하여 내 경험을 공유했습니다.
나는 왼쪽은 단일 SQL 쿼리 조인 두 가지를 사용하여 내 경험을 공유했습니다.
내가 3 개 테이블이 :
표 1) 환자가 열을 구성 PatientID, PatientName
표 2) 약속이 열을 구성 AppointmentID, AppointmentDateTime, PatientID, DoctorID
의사 열 DoctorID, DoctorName로 구성) 표 3
질문:
SELECT Patient.patientname, AppointmentDateTime, Doctor.doctorname FROM Appointment LEFT JOIN Doctor ON Appointment.doctorid = Doctor.doctorId //have doctorId column common LEFT JOIN Patient ON Appointment.PatientId = Patient.PatientId //have patientid column common WHERE Doctor.Doctorname LIKE 'varun%' // setting doctor name by using LIKE AND Appointment.AppointmentDateTime BETWEEN '1/16/2001' AND '9/9/2014' //comparison b/w dates ORDER BY AppointmentDateTime ASC; // getting data as ascending order
나는 "MM / DD / YY"(내 이름으로 "바룬 테지 레디")와 같은 날짜 형식을 얻을 수있는 솔루션을 썼다
-
==============================
4.멀티 점진적으로 차례로 파생 테이블을 생성하여 SQL 작업에 합류했다. 과정을 설명하는이 링크를 참조하십시오 :
멀티 점진적으로 차례로 파생 테이블을 생성하여 SQL 작업에 합류했다. 과정을 설명하는이 링크를 참조하십시오 :
https://www.interfacett.com/blogs/multiple-joins-work-just-like-single-joins/
from https://stackoverflow.com/questions/8974328/mysql-multiple-joins-in-one-query by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 첫 번째 행에 가입하세요 (0) | 2020.05.31 |
---|---|
[SQL] PostgreSQL의와 중복 행을 찾기 (0) | 2020.05.31 |
[SQL] 인덱스 대 고유 제한 조건을 POSTGRES (0) | 2020.05.31 |
[SQL] 추가 된 문자열 CONCAT가 작동하지 필드에서 SQL UPDATE는 모든 값 (0) | 2020.05.31 |
[SQL] 어떻게하면 메인 쿼리의 각 레코드에 대해 하나 개의 레코드 (선택 상위 1)을 가져야한다 (SQL 서버)에 하위 쿼리에서 여러 열을 선택할 수 있습니다? [복제] (0) | 2020.05.31 |