我经常处理" SQl Server 2008"但这个数据库是php myadmin,我想知道可能是这个问题。
我有两个非常基本的表格。一个叫做BOOK,一个叫做CATEGORY。 BOOK有Book_id,标题,作者,媒介 CATEGORY只有book_id和category。
图书可以有多个与之关联的类别。
所以,当我这样做一个简单的连接时:
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。
任何关于为什么会这样做的帮助都会很棒。
由于
答案 0 :(得分:0)
这些表的结构似乎有些不对劲。在正常情况下,我会想象BOOK会有category_id,因为一本书只能有一个类别而一个类别可以有很多书。在CATEGORY表中设置book_id意味着某个类别仅可以包含一本书,而一本书可以包含多个类别。
我不会责怪数据库的类型,而是造成意外情况的表格结构。