有三个表格如下:
PersonTable
Person.ID
Person.Name
PersonTypeCompositeTable
Person.ID
PersonType.ID
PersonTypeTable
PersonType.ID
PersonType.Category
对于此示例,请说PersonTypeCompositeTable的值为:
1,A
2,A
3,B
如何编写一个SELECT语句,它将返回PersonType为“A”的所有人?
更新:(已发布的答案的工作版本)
SELECT p.*
FROM PersonTable p
INNER JOIN PersonTypeCompositeTable ptc
ON p.ID = ptc.ID
INNER JOIN PersonTypeTable pt
ON ptc.ID = pt.ID
WHERE pt.Category = 'A'
答案 0 :(得分:3)
您在三个表之间使用joins。
SELECT p.*
FROM PersonTable p
INNER JOIN PersonTypeCompositeTable ptc
ON p.Person.ID = ptc.Person.ID
INNER JOIN PersonTypeTable pt
ON ptc.PersonType.ID = pt.PersonType.ID
WHERE pt.PersonType.Category = 'A'