我有三個表,我試圖查詢這三個表以獲得我想要的結果(沒有組合的行),但是在結果行中進行組合。MySQL:LEFT JOIN返回組合行
這裏是表:
monitoring table
id | code
12 | M-12
monitoring_question_log table
id | monitoring_id | monitoring_question_id | monitoring_question_choice_id | textual_answer
11 12 1 1 (NULL)
12 12 2 4 (NULL)
13 12 3 6 (NULL)
14 12 4 10 (NULL)
15 12 5 14 (NULL)
16 12 6 15 (NULL)
17 12 7 (NULL) N/A
monitoring_checklist_log table
id | monitoring_id | monitoring_checklist_id | answer
23 12 1 checked
24 12 2 unchecked
25 12 3 checked
26 12 4 checked
這裏是我使用的查詢:
SELECT
m.id,
m.code,
mql.monitoring_question_choice_id,
mql.textual_answer,
mcl.monitoring_checklist_id,
mcl.answer
FROM monitoring m
LEFT JOIN monitoring_question_log mql ON mql.monitoring_id = m.id
LEFT JOIN monitoring_checklist_log mcl ON mcl.monitoring_id = m.id
WHERE m.id = 12
上述查詢的結果是:
id code monitoring_question_choice_id textual_answer monitoring_checklist_id answer
12 M-12 1 (NULL) 1 checked
12 M-12 1 (NULL) 2 unchecked
12 M-12 1 (NULL) 3 checked
12 M-12 1 (NULL) 4 checked
12 M-12 4 (NULL) 1 checked
12 M-12 4 (NULL) 2 unchecked
12 M-12 4 (NULL) 3 checked
12 M-12 4 (NULL) 4 checked
12 M-12 6 (NULL) 1 checked
12 M-12 6 (NULL) 2 unchecked
12 M-12 6 (NULL) 3 checked
12 M-12 6 (NULL) 4 checked
12 M-12 10 (NULL) 1 checked
12 M-12 10 (NULL) 2 unchecked
12 M-12 10 (NULL) 3 checked
12 M-12 10 (NULL) 4 checked
12 M-12 14 (NULL) 1 checked
12 M-12 14 (NULL) 2 unchecked
12 M-12 14 (NULL) 3 checked
12 M-12 14 (NULL) 4 checked
12 M-12 15 (NULL) 1 checked
12 M-12 15 (NULL) 2 unchecked
12 M-12 15 (NULL) 3 checked
12 M-12 15 (NULL) 4 checked
12 M-12 (NULL) N/A 1 checked
12 M-12 (NULL) N/A 2 unchecked
12 M-12 (NULL) N/A 3 checked
12 M-12 (NULL) N/A 4 checked
UPDATE:
預期結果:
id code monitoring_question_choice_id textual_answer monitoring_checklist_id answer
12 M-12 1 (NULL) 1 checked
12 M-12 4 (NULL) 2 unchecked
12 M-12 6 (NULL) 3 checked
12 M-12 10 (NULL) 4 checked
12 M-12 14 (NULL)
12 M-12 15 (NULL)
12 M-12 (NULL) N/A
任何幫助,將不勝感激。
SELECT DISTINCT * ........其餘 – DaAmidza
INNER連接怎麼樣?或者像阿爾斯蘭提到的那樣清晰。 – tilz0R
@ Arslan.H,謝謝你的回答,但是,我已經嘗試過了。 – skm