我有两张桌子。一个是所有类别的列表。另一个是事物可能属于的类别列表。一个东西可以属于多个类别(它可能在表2中有多个记录)
所以,我有
表:
categories
1, horror
2, romance
3, post modern
4, Canadian
5, English
...
2340
然后另一个表,thingsToCategories,有两列(thingID,categoryID)
thingID categoryID
6323-01 1
6323-01 4
6323-01 5
1342-01 2
1342-01 4
给定一个thingID,我需要一个所有类别的列表(如表A中的select *),并指示表B中是否存在该事物ID
所以,给定6323-01的thingID,我需要一个这样的列表:
1, horror selected
2, romance
3, post modern
4, Canadian selected
5, English selected
我的SQL技能已经生锈而且非常糟糕我甚至不确定要使用哪种连接。任何人都可以提供任何指示吗?
(我继承了这个数据库,fwiw)
答案 0 :(得分:0)
我认为您正在寻找INNER JOIN
SELECT * FROM categories
INNER JOIN thingsToCategories ON categories.CategoryID = thingsToCategories.CategoryID
WHERE thingsToCategories.thingID ='6323-01'
INNER JOIN将确保根据两个表中匹配的记录进行选择。