0

我有两张桌子。一个是所有类别的列表。另一个是事物可能属于的类别列表。一个事物可以属于多个类别(表二中可能有多个记录)

所以我有

桌子:

categories 
1,   horror
2,   romance
3,   post modern
4,   Canadian
5,    English

...
2340  

然后是另一个表,thingToCategories,有两列(thingID,categoryID)

thingID   categoryID
6323-01    1
6323-01    4
6323-01    5
1342-01    2
1342-01    4

给定一个thingID,我需要一个所有类别的列表(如从表A中选择*),并指示该事物ID是否存在于表B中

因此,鉴于 thingID 为 6323-01,我需要这样的列表:

1,   horror    selected
2,   romance
3,   post modern
4,   Canadian   selected
5,    English   selected

我的 SQL 技能生疏且糟糕,我什至不确定要使用哪种联接。任何人都可以提供任何指示吗?

(我继承了这个数据库,fwiw)

4

1 回答 1

0

我想你正在寻找一个INNER JOIN

SELECT * FROM categories
INNER JOIN thingsToCategories ON categories.CategoryID = thingsToCategories.CategoryID
WHERE thingsToCategories.thingID ='6323-01'

INNER JOIN 将确保基于两个表中匹配的记录进行选择。

于 2012-10-12T16:52:20.200 回答