我已經加入了2個表並使用組concat來獲取某些彩色數據。下面是我的查詢。這返回相同的行兩次與2個連接表查詢結果一起使用的MySQL組concat重複
SELECT GROUP_CONCAT( vehicles.role ORDER BY vehicles.id ASC SEPARATOR '\n') as role,GROUP_CONCAT( vehicles.size ORDER BY vehicles.id ASC SEPARATOR '\n') as size,festivals.id,festivals.ref_no as ref_no, festivals.camping,festivals.tour_mgr_name,festivals.email,festivals.mobile,festivals.name_address, GROUP_CONCAT(namedesgs.name ORDER BY namedesgs.id ASC SEPARATOR '\n') as names,GROUP_CONCAT(namedesgs.designation ORDER BY namedesgs.id ASC SEPARATOR '\n') as designations
FROM festivals
LEFT JOIN namedesgs ON festivals.id = namedesgs.festival
LEFT JOIN vehicles ON festivals.id = vehicles.festival
Group BY festivals.id
請教如何獲取沒有重複的數據?
當我用concat的DISTINCT。它不爲以下
前工作:
namedesg數據
車輛數據
電流輸出
但是在我輸出的維基數據上重複了3次,即使有一個數據存在。
這裏查詢我試圖
SELECT t.id, GROUP_CONCAT(a.name SEPARATOR '\n') as name,
GROUP_CONCAT(a.designation SEPARATOR '\n') as desg ,GROUP_CONCAT(b.role SEPARATOR '\n') as role,
GROUP_CONCAT(b.size SEPARATOR '\n') as size
FROM festivals t
LEFT JOIN namedesgs a ON a.festival=t.id
LEFT JOIN vehicles b ON b.festival=t.id
where t.id=4
GROUP BY t.id
festivals
id ref_no
1 AAA
2 BBB
3 CCC
namedesgs
id name designation festival(festival table id)
1 ann SE 1
2 ben AE 1
3 Jan cook 1
4 alun cook 1
5 hej hik 2
6 nij AE 1
vehicles
id role size festival(festival table id)
1 r1 14 1
2 r1 12 1
3 r2 12 1
4 r3 12 1
5 r4 12 2
我想作爲了說就是
festivalid name designations role size
1 ann SE r1 14
ben AE r1 12
jan cook r2 12
alun cook r3 12
aij AE
2 hej hik r4 12
在'GROUP_CONCAT'中使用'DISTINCT'來移除重複項。 – Barmar
@Barmar:我也使用過它GROUP_CONCAT(DISTINCT vehicles.size ORDER BY vehicles.id ASC SEPARATOR'\ n'但是當數據有重複的時候,它也會刪除它,看到我的表格的附加圖像,當我使用DISTINCT時,它會只返回'desg6',即使認爲有兩個在表中。請諮詢 –
@Barmar:請檢查我的問題的更新部分。 –