我有4個表中MySQL數據庫,suppliers
,categories
,subcats
& listings
。結合多個MySQL行,而不重複
上市是一個連接表,讓許多供應商,類別和subcats之間的多對多關係,每個結構如下
供應商
sp_id sp_name sp_email
1 Apple [email protected]
2 Samsung [email protected]
類別
cat_id cat_name
3 Electronics
4 Software
subcats
subcat_id subcat_name cat_id
5 Mobiles 3
6 Computers 3
上市
list_id sp_id subcat_id
1 1 5
2 1 6
我想結合,共同提取數據,所以每個供應商只有一個入口與多個子類別列出如:
結果
sp_id sp_name sp_email cat_name/cats subcat_name/subcats
1 Apple [email protected] Electronics, Software Mobiles, Computers
2 Samsung [email protected] Electronics Mobiles
目前,我有以下查詢
SELECT *
FROM suppliers as s
LEFT JOIN listings as l ON s.sp_id=l.sp_id
LEFT JOIN subcats as p ON p.subcat_id=l.subcat_id
LEFT JOIN categories as c ON c.cat_id=p.cat_id
ORDER BY s.sp_id
但是這個輸出每個供應商的多個條目,與它相關聯的每個類別或子一個條目。有更簡單的方法通過SQL或PHP中的多個查詢來完成嗎?
我是在我目前的MySQL知識的限制和任何建議或正確的方向prods將不勝感激。
非常感謝這個工作得十分完美,我學到了一些東西。 – themightyant 2013-02-21 11:35:03