MySQL左联接返回多行,我要一行

时间:2020-03-24 16:13:17

标签: mysql sql join group-concat

我有两个桌子:

订单表:opdrachten

成员表:opdrachten_planning

成员表仅具有medewerker.id(成员ID)和opdrachten.id(订单ID)。

以下代码返回多行:

SELECT A.* , B.`opdracht` , B.`medewerker` FROM `opdrachten` AS A LEFT JOIN `opdrachten_planning` AS B ON B.`opdracht` = A.`id` WHERE A.`status`='actief'

返回:

位置Amsterdam medewerker 22

位置Amsterdam medewerker 36

我想要的:

位置Amsterdam medewerker 22,36

我尝试了group_concat,但无法正常工作。你能帮助我吗? Tx!

1 个答案:

答案 0 :(得分:0)

GROUP_CONCAT似乎会导致您想要的结果。我在查询中添加了GROUP BY子句以使聚合工作正常。

SELECT 
    A.*, 
    GROUP_CONCAT(B.medewerker)
FROM opdrachten AS A 
LEFT JOIN opdrachten_planning AS B 
    ON B.opdracht = A.id 
WHERE 
    A.status='actief';
GROUP BY A.id;