gpt4 book ai didi

sql - 查询返回多个同名行

转载 作者:行者123 更新时间:2023-11-29 14:56:24 25 4
gpt4 key购买 nike

我在使用以下查询时遇到 SQL 查询返回多个同名行的问题:

SELECT * FROM People P JOIN SpecialityCombo C ON P.PERSONID = C.PERSONID JOIN Speciality S ON C.GROUPID = S.ID;

People 包含每个人的信息,Specialty 包含每个专业的名称和 ID,SpecialityCombo 包含有关 People 及其专业之间关联的信息,即每一行都有一个 PERSONID 和一个 Specialty ID(试图将其标准化为某些程度)。

我的查询的工作原理是,它返回每个人及其专业名称,但它返回 n 行表示他们想要的专业数量,因为每个专业返回相同的行“名称”。我想要的是它只返回包含每个专业的一行。我怎样才能做到这一点?

最佳答案

使用左连接来克服找不到专业时不返回行的问题

SELECT P.*, 
GROUP_CONCAT(S.NAME) AS specialties
FROM People P
LEFT JOIN JOIN SpecialityCombo C ON P.PERSONID = C.PERSONID
LEFT JOIN JOIN Speciality S ON C.GROUPID = S.ID
GROUP BY P;

关于sql - 查询返回多个同名行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com