gpt4 book ai didi

mysql - 在查询中序列化 MySQL 关系数据

转载 作者:行者123 更新时间:2023-11-29 10:43:39 26 4
gpt4 key购买 nike

我的应用具有多对多关系的文档文档类别。三个标准表...

CREATE TABLE `documents` (
`id` int(10),
`name` varchar(255)
)

CREATE TABLE `document_document_category` (
`id` int(10),
`document_id` int(10),
`document_category_id` int(10),
)

CREATE TABLE `document_categories` (
`id` int(10),
`name` varchar(255),
)

我想编写一个查询,将所有文档数据转储到一行中。对于文档类别,我希望将其序列化为逗号分隔值。因此,如果文档表有一个名为 report.pdf 的文件,并且它被分配了两个类别:ReportFinance,则查询将返回以下内容:

--------------------------------------
| Name | Categories |
--------------------------------------
| report.pdf | Report, Finance |
--------------------------------------

最佳答案

select d.name, group_concat(c.name)
from documents d
join document_document_category dc on dc.document_id = d.id
join document_categories c on dc.document_category_id = c.id
group by d.name

group_concat 有一些选项来定义分隔符并对列表进行排序...

关于mysql - 在查询中序列化 MySQL 关系数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45018666/

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