我有多个表,如下所示:
表 1:产品
+-----+----------+--------+---------------------+
| id | biz_id | name | message |
+-----+----------+--------+---------------------+
| 1 | 1 | test1 | One tow three |
| 2 | 1 | test1 | One tow three |
| 3 | 1 | test1 | One tow three |
| 4 | 2 | test2 | hello world |
| 5 | 2 | test2 | hello world |
+-----+----------+--------+---------------------+
表 2:图像
+-----+----------+--------------+-------------------+
| id | biz_id | product_id | path |
+-----+----------+--------------+-------------------+
| 1 | 1 | 1 | img/qwert1.jpg |
| 2 | 1 | 2 | img/qwert2.jpg |
| 3 | 1 | 3 | img/qwert3.jpg |
| 4 | 2 | 4 | img/qwery4.jpg |
| 5 | 2 | 5 | img/qwert5.jpg |
+-----+----------+--------------+-------------------+
连接多个表时如何避免 mysql 中的重复?
我的查询是连接两个表,这样我想避免重复的产品(按名称获取不同的产品)并获取与该产品关联的所有图像(例如,产品>名称 - test1 具有图像 qwert1.jpg、qwert2.jpg, qwert2.jpg )
最佳答案
SELECT p.name, GROUP_CONCAT(i.path)
FROM product AS p
INNER JOIN images AS i ON p.id = i.product_id
GROUP BY p.name;
请注意,这不是标准 SQL,但大多数 DBMS 都提供此功能(尽管关键字可能有点不同)。
关于php - mysql 查询避免重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34128330/