gpt4 book ai didi

php - MySQL 内连接合并行

转载 作者:行者123 更新时间:2023-11-29 06:51:33 24 4
gpt4 key购买 nike

我遇到以下问题:我有三个表,一个用户表,一个类别表和一个 user_category 表,该表使用外键连接前两个表。

用户表:

id     username

1 user1
... ...

类别表:

id    category

1 test1
2 test2
3 test3
... ...

user_category 表

id    user_id    category_id
1 1 1
2 1 2
3 1 3

现在我想选择所有用户及其类别,但我不想同一用户有多行 - 相反,我想将用户的所有类别合并到一个类别字段中。

SELECT users.*, categories.category FROM user_category INNER JOIN users ON users.id = user_category.user_id LEFT JOIN categories ON categories.id = user_category.category_id

输出:

 id     username     category
1 user1 test1
1 user1 test2
1 user1 test3

但我想要以下内容:

 id     username     category
1 user1 test1, test2, test3

有可能做到这一点吗?

最佳答案

SELECT users.id, users.username, GROUP_CONCAT(categories.category) as cats
FROM user_category
INNER JOIN users ON users.id = user_category.user_id
LEFT JOIN categories ON categories.id = user_category.category_id
GROUP BY users.id, users.username

可以做你想做的事。

参见http://www.sqlines.com/mysql/functions/group_concat

通过 TSQL,您可以使用像 How Stuff and 'For Xml Path' work in Sql Server 这样的东西

关于php - MySQL 内连接合并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47229641/

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