gpt4 book ai didi

mysql - 加入2个一对多关系

转载 作者:行者123 更新时间:2023-11-29 02:35:12 25 4
gpt4 key购买 nike

我正在尝试连接 3 个表,但得到了一些不寻常的结果,例如,从 bookid 1 出现了三个记录,因为它属于 3 个类别,我该如何避免这种情况?表结构是;

table =书 - bookid - 作者 - 标题

table = categoriesbooks - bookid - 类别id

表格 = 类别 - 类别编号 - 类别描述

当我加入表时使用;

SELECT book.bookid, book.author, book.title, category.categorydesc
FROM book
JOIN bookscategories ON book.bookid = bookscategories.bookid
JOIN category ON bookscategories.categoryid = category.categoryid

最佳答案

很简单,使用 group by bookid 将结果限制为每本书一行。您仍然可以使用 group_concat 查看 CSV 列表中的所有类别。

SELECT book.bookid, book.author, book.title, group_concat(category.categorydesc)
FROM book
JOIN bookscategories ON book.bookid = bookscategories.bookid
JOIN category ON bookscategories.categoryid = category.categoryid
GROUP BY book.book_id

参见:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

关于mysql - 加入2个一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6312239/

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