连接两个表时如何连接行

时间:2018-08-02 08:21:03

标签: mysql

我有两个拖曳表,我正在对它们执行join语句。当我这样做时,会有多列具有相同的键和不同的值。 有什么办法可以将这些用逗号分隔的值连接起来?

这是联接查询

SELECT A.bucket_id,B.id FROM coms_category A JOIN product_category B ON A.category_url=B.url;

结果样本如下

+-----------+-----+
| bucket_id | id  |
+-----------+-----+
|      1261 | 692 |
|      1157 | 600 |
|      1222 | 600 |

600来了两次。我想要的输出是 1157,1222对600。

我尝试过

SELECT B.id,A.bucket_id GROUP_CONCAT(A.bucket_id SEPARATOR ', ')FROM coms_category A JOIN product_category B ON A.category_url=B.url GROUP BY B.id;

但是没有用。

1 个答案:

答案 0 :(得分:1)

使用子查询,第一个group by将删除重复项

select T.id ,GROUP_CONCAT(T.bucket_id SEPARATOR ', ')
 from (
  SELECT B.id,A.bucket_id 
    FROM coms_category A 
    JOIN product_category B 
    ON A.category_url=B.url 
    GROUP BY B.id,A.bucket_id
) as T group by T.id