这与这个问题密切相关,但增加了另一个要求.
给定父表"父"
???????????????????????
? PARENT_ID ? NAME ?
???????????????????????
? 1 ? bob ?
? 2 ? carol ?
? 3 ? stew ?
???????????????????????
Run Code Online (Sandbox Code Playgroud)
和父和一个(这里未指定的)属性表之间的多对多关系表'rel'
?????????????????????????
? PARENT_ID ? PROP_ID ?
?????????????????????????
? 1 ? 5 ?
? 1 ? 1 ?
? 2 ? 5 ?
? 2 ? 4 ?
? 2 ? 1 ?
? 3 ? 1 ?
? 3 ? 3 ?
?????????????????????????
Run Code Online (Sandbox Code Playgroud)
我怎样才能选择具有所有的家长都和只有一组指定的关系?例如,使用样本数据,我如何找到与属性5和1完全相关的所有父母?
jue*_*n d 10
SELECT PARENT_ID
FROM rel
GROUP BY PARENT_ID
HAVING SUM(PROP_ID NOT IN (5,1)) = 0
AND SUM(PROP_ID = 1) = 1
AND SUM(PROP_ID = 5) = 1
Run Code Online (Sandbox Code Playgroud)