gpt4 book ai didi

mysql - SQL:在子查询的一个字段中显示多个记录值

转载 作者:行者123 更新时间:2023-11-29 01:45:31 25 4
gpt4 key购买 nike

我有一个 SQL LIKE:

SELECT S.*, 
(SELECT I.NAME FROM institution I, inst_map IM
WHERE IM.STUDENT = S.ID AND IM.INSTITUTION = I.ID) as INSTITUTIONS
FROM student S

在这种情况下,我的子查询可能会返回多条记录(我会得到一个错误:Subquery returns more than 1 row)。

如何在一个字段(在我的示例中为 INSTITUTIONS )中显示我的子查询中的多个值,并以逗号分隔?

欢迎所有想法。

最佳答案

试试这个查询-

SELECT s.*, GROUP_CONCAT(t.NAME) INSTITUTIONS FROM student s
LEFT JOIN (SELECT * FROM institution i
JOIN inst_map im
ON im.INSTITUTION = i.ID
) t
ON s.ID = t.STUDENT
GROUP BY s.ID

GROUP_CONCAT函数将帮助您获取以逗号分隔的值。

关于mysql - SQL:在子查询的一个字段中显示多个记录值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871820/

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