gpt4 book ai didi

mysql - 复杂的 Sql 连接查询问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:00 27 4
gpt4 key购买 nike

我有两个表需要以特定方式组合。我需要一个表中的信息显示一次,但我需要下一个表中的信息来返回它具有的每个匹配数据。这是我的例子

用户


| id | name |
-------------
| 1 | mike |
| 2 | john |
| 3 | bill |
-------------

-----------------
| uid | subject |
-----------------
| 1 | math |
| 1 | English |
| 2 | math |
| 3 | math |
| 3 | English |
-----------------

预期结果

--------------------
|name | mike |
---------------------
|subject| math |
| | English |
---------------------

--------------------
|name | subject |
---------------------
|mike | math |
| | English |
---------------------

这是我当前的查询

SELECT user.name, class.subject
FROM user
join class on class.uid = user.id
WHERE (user.name like '%mike%')

返回

--------------------
|name | subject |
---------------------
|mike | math |
|mike | English |
---------------------

但我想删除所有重复的名称。谁能帮忙解决这个问题

最佳答案

您可以使用连接类型函数将值连接成带分隔符的字符串...例如

Select u.name, (
select
GROUP_CONCAT(c.subject) FROM classes c where u.id = c.uid
) As subjects
From user u

所以你最终得到

--------------------
|name | subjects |
---------------------
|mike | math, English |

关于mysql - 复杂的 Sql 连接查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14107023/

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