我确信以前曾被问过,但我无法弄清楚如何搜索它
我有一个table table1:
| RefId_1 | RefId_2 |
---------------------
| 1 | 133 |
| 3 | 12 |
| 4 | 144 |
| 4 | 22 |
| 3 | 123 |
我需要获取RefId_1
的列表,这些列表确实引用了RefId_2
列表,但没有引用另一个RefId_2
列表。
例如,我需要RefId_1
列表引用RefId_2
列表(133,22,44),但是RefId_1
不应该引用{{1}列表(12,144,111)。
结果应该只是(1)因为(4)引用了禁止144
提前致谢
答案 0 :(得分:0)
SELECT DISTINCT RefId_1
FROM yourtablename
WHERE
RefId_2 IN (133, 22, 44)
AND RefId_2 NOT IN (12, 144, 111);
答案 1 :(得分:0)
更新 :( UNTESTED )
SELECT DISTINCT REF_ID1 FROM table1
WHERE REF_ID2 IN(133,22,44)
AND
REF_ID1 NOT IN
(SELECT REF_ID1 FROM table1 WHERE REF_ID2 IN (12, 144, 111))
答案 2 :(得分:0)
试试这个必须有你需要的工作
SELECT DISTINCT REF_ID1
FROM table1
WHERE REF_ID1 NOT IN
(SELECT REF_ID1
FROM table1
WHERE REF_ID2 IN (12,144));