我有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