2014-10-01 54 views
0

我有3個表:訪問,visit_Services和服務。組連接行從另一個表加入連接表

我想在一個查詢中選擇所有訪問和鏈接到它的服務!

我試圖

SELECT `v`.*, group_concat(s.name) 
FROM `visits` `v` 
left outer join `visit_service` vs on vs.visit_id = v.id 
left outer join `services` s on s.id = vs.service_id 
WHERE DATE(v.visit_date) = date(now()) 

問題是: - 1.結果返回只有1次訪問ANF GROUP_CONCAT包含所有訪問 2.所有服務,這是做到這一點的最好方法是什麼?或者如果我將命令分成兩個querys會更好嗎?

非常感謝SOF社區

+0

你忘了GROUP BY V.ID – Gervs 2014-10-01 17:29:32

+0

哎喲。你真棒!解決問題!謝謝@Gervs – Zalaboza 2014-10-01 17:31:00

+0

我已經提出了一個答案,所以可以標記爲解決 – Gervs 2014-10-01 17:39:01

回答

0
SELECT `v`.*, group_concat(s.name) 
FROM `visits` `v` 
left outer join `visit_service` vs on vs.visit_id = v.id 
left outer join `services` s on s.id = vs.service_id 
WHERE DATE(v.visit_date) = date(now()) 
GROUP BY v.id 

注意,這是隻有在full_group_by systemvariable設置爲0(默認值)