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

问题描述 投票:0回答:1

我有两个桌子:

订单表: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'

返回:

位置阿姆斯特丹医疗队22

位置阿姆斯特丹医疗队36

我想要的:

位置Amsterdam medewerker 22,36

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

mysql sql join group-concat
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.