Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL哪个元素不包含与X的n2m关系_Sql_Sql Server 2005_Sql Server 2008 - Fatal编程技术网

SQL哪个元素不包含与X的n2m关系

SQL哪个元素不包含与X的n2m关系,sql,sql-server-2005,sql-server-2008,Sql,Sql Server 2005,Sql Server 2008,我在SQL中有一个n到m的关系,如下所示: 表A: Id 1 2 3 表B: Id 1 2 3 关系表AB: Id_A Id_B 1 1 1 3 2 3 这意味着Id为1的表A中的对象与Id为1的表B中的对象相关,同时A:1与B:3以及A:2与B:3相关 现在,我试图完成的是从表A中获取所有与B:1没有关系的ID。这应该返回A:2和A:3 我怎样才能做到这一点 SELECT id FROM TableA EXCEPT SELEC

我在SQL中有一个n到m的关系,如下所示:

表A:

Id
 1
 2
 3
表B:

Id  
 1    
 2
 3
关系表AB:

Id_A  Id_B
 1      1
 1      3
 2      3
这意味着Id为1的表A中的对象与Id为1的表B中的对象相关,同时A:1与B:3以及A:2与B:3相关

现在,我试图完成的是从表A中获取所有与B:1没有关系的ID。这应该返回A:2和A:3

我怎样才能做到这一点

SELECT id
FROM TableA
EXCEPT
SELECT Id_A
FROM TableAB
WHERE Id_B=1
或者(如果需要表A中未显示的其他列)

SELECT a.id /*,a.foo, a.bar*/
FROM TableA a
WHERE NOT EXISTS(SELECT * 
                 FROM TableAB ab 
                 WHERE ab.Id_B=1 AND ab.Id_A=a.Id)