sql - 如何像这样显示 SQL 结果

标签 sql join

我想加入表 Documents(id, name) 和 Tags(tagId, tagname, docId(FK))。但是结果会返回很多多余的行,因为一个文档可以有很多标签:

Document_name |Tag
----------------------
document01     tag01
document01     tag02
document02     tag01

我试图解决的所有问题是:
document_name |Tags
----------------------------
document01    | tag01, tag02
document02    | tag01

或者可以是这样的:
Document_name |Tag_1   |Tag_2  |Tag_...
---------------------------------------
document01     tag01  |tag02
document02     tag01

任何人都知道如何实现这种情况?非常感谢! (我试图在这个网站上找到其他答案,但我不知道在这种情况下搜索合适的关键字)

最佳答案

如果您使用的是 MySQL,您可以这样做:

select document_name, group_concat(tag SEPARATOR ', ')
from Documents
group by document_name

关于sql - 如何像这样显示 SQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338653/

相关文章:

sql-server - Join 内联函数和临时表

mysql - 如何结合多个 COUNT() 和 GROUP BY 实现 MySQL Query

c# - LINQ to SQL 类

mysql - 插入新表时计算年龄

MongoDB 聚合限制查询

unix - 按 2 列连接 2 个文件,使用 awk 保留所有记录

mysql - 使用内连接随机选择 4 行

sql - 什么是 DDL 和 DML?

mysql - 这与 MYSQL 查询中的 JOIN 相同吗?

mysql - Django 查询与同一个表上的另一个查询连接