Mysql 获取引用值列表的行,同时获取don';I don’我没有任何参考其他值的列表
我肯定以前有人问过,但我就是不知道如何搜索它 我有一张桌子表1:Mysql 获取引用值列表的行,同时获取don';I don’我没有任何参考其他值的列表,mysql,sql,Mysql,Sql,我肯定以前有人问过,但我就是不知道如何搜索它 我有一张桌子表1: | RefId_1 | RefId_2 | --------------------- | 1 | 133 | | 3 | 12 | | 4 | 144 | | 4 | 22 | | 3 | 123 | 我需要获取RefId_1列表,这些列表确实引用了RefId_2列表,但没有任何引用到另一个RefId_2列表 例如,我需要引
| RefId_1 | RefId_2 |
---------------------
| 1 | 133 |
| 3 | 12 |
| 4 | 144 |
| 4 | 22 |
| 3 | 123 |
我需要获取RefId_1
列表,这些列表确实引用了RefId_2
列表,但没有任何引用到另一个RefId_2
列表
例如,我需要引用(133,22,44)列表的RefId_1
列表,但是这样的RefId_1
不应该引用RefId_2
(12,144,111)
结果应该是(1),因为(4)引用了禁止的144
提前感谢更新:(未经测试)
SELECT DISTINCT RefId_1
FROM yourtablename
WHERE
RefId_2 IN (133, 22, 44)
AND RefId_2 NOT IN (12, 144, 111);
试试这个,你想要的一定有用
SELECT DISTINCT REF_ID1
FROM table1
WHERE REF_ID1 NOT IN
(SELECT REF_ID1
FROM table1
WHERE REF_ID2 IN (12,144));
我想你在最后一行是指22144而不是22111;-)很抱歉,任务比不在()中更复杂,我将在您给定的
133,22,44
中编辑它,其中44
在表中?您能以表格式给出您的预期输出吗。这个问题让我困惑,但我改变了问题谢谢,但我改变了问题谢谢,但我改变了问题
SELECT DISTINCT REF_ID1
FROM table1
WHERE REF_ID1 NOT IN
(SELECT REF_ID1
FROM table1
WHERE REF_ID2 IN (12,144));