我有两张桌子
table 1:
row | car_id | car_model |
1 1 CAR 1
2 2 CAR 2
3 3 CAR 3
4 4 CAR 4
table 2:
row | car_id | car_features |
1 1 Features 1
2 2 Features 2
3 2 Features 3
我想显示的内容:
row | car_id | car_model | car_features |
1 1 CAR 1 Features 1
2 2 CAR 2 Features 2,Features 3
3 3 CAR 3
4 4 CAR 4
如果我使用 group concat 和 group by
将显示第 1,2 行,我想显示所有行...
row | car_id | car_model | car_features |
1 1 CAR 1 Features 1
2 2 CAR 2 Features 2,Features 3
请把sql语句发给我..谢谢!!
这是我的查询
$format = mysql_query("SELECT c.* , p.*, d.*,f.* ,GROUP_CONCAT(DISTINCT e.features_title SEPARATOR '<br>') AS 'car_features' FROM bsi_car_master c,bsi_car_type p, bsi_car_vendor d, bsi_selected_features f, bsi_car_features e WHERE c.car_type_id=p.id AND c.car_vendor_id=d.id AND c.car_id = f.car_id AND f.features_id = e.id GROUP BY c.car_id");
您应该按照评论中的建议使用左连接:
SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.car_id=table2.car_id;
看看一些 MySQL 教程。 w3schools.org 给了我很多帮助。
我想这应该对你有用。
但正如我所说,请在你的问题上多花点功夫。我很高兴为您提供帮助,StackOverflow 不是免费的代码服务!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)