Три таблицы, которые выглядят так:
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'