mysql查询以避免重复结果

时间:2015-12-07 07:20:13

标签: php mysql

我有多个表格如下:

表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中出现重复?

我的查询是加入两个表,以便我想避免重复的产品(按名称获取Distint产品)并获取与该产品相关的所有图像(例如,产品>名称 - test1有图像qwert1.jpg,qwert2.jpg, qwert2.jpg)

3 个答案:

答案 0 :(得分:0)


+--------+----------------+------------+------------+-----------------------------+
|Segment_0|  AcctName     |  Budget   | CURRENT BUDGET EXPENSES OCT               |
+--------+----------------+------------+------------+-----------------------------+
| 500101 | Salaries       | 8898033    | 8898033    |                             |
| 500101 | Salaries       | 5459062    | 5459062    |                             |
| 500101 | Salaries       | 452569.6   | 452569.6   |                             |
| 600401 | Operating Cost | 4676556    | 4676556    |                             |
| 600401 | Operating Cost | 1242621.54 | 1242621.54 |                             |
| 600401 | Operating Cost | 882554.4   | 882554.4   |                             |
| 600401 | Operating Cost | 595670.4   | 595670.4   |                             |
+--------+----------------+------------+------------+-----------------------------+

请注意,这不是标准SQL,但大多数DBMS都提供此功能(尽管关键字可能略有不同)。

答案 1 :(得分:0)

简单连接应该做所有事情

select p.name as Name, i.message as IMG from Images 
left join Product p
on i.biz_id=p.biz_id
group by p.name;

答案 2 :(得分:0)

left joinGROUP_CONCATgroup by

一起使用
select p.name name,GROUP_CONCAT(i.path) img 
from Images i left join Product p
on i.biz_id=p.biz_id
group by i.product_id