gpt4 book ai didi

mysql - 为什么我的 SQL Join 在结果中重复行

转载 作者:行者123 更新时间:2023-11-30 22:32:46 24 4
gpt4 key购买 nike

我通常处理“SQl Server 2008”,但这个数据库是 php myadmin,我想知道这可能是问题所在。

我有两个非常基本的表。一个叫做 BOOK,一个叫做 CATEGORY。BOOK 有 Book_id, title, author,mediumCATEGORY 只有 book_id 和类别。

书籍可以有多个与之关联的类别。

所以当我像这样进行简单的连接时:

SELECT a.title,a.author,b.category 
FROM BOOK a
LEFT JOIN CATEGORY b
ON a.book_id = b.book_id

我得到重复的记录。因此,对于每本书都有一个类别,我期望返回 1 行,我得到 2。我期望 2 行的地方我得到 3,我期望 3 的地方我得到 4。

任何关于为什么会发生这种情况的帮助都会很棒。

谢谢

最佳答案

这些表的结构似乎有问题。在正常情况下,我会想象 BOOK 会有一个 category_id,因为一本书只能有一个类别,而一个类别可以有很多本书。在 CATEGORY 表中包含 book_id 意味着一个类别只能包含一本书,而一本书可以有多个类别。

我不会责怪导致您出现意外情况的不是数据库的类型,而是表的结构。

关于mysql - 为什么我的 SQL Join 在结果中重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424940/

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