Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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 带有链接表的排除查询_Sql_Visual Studio 2012_Sql Server Ce 4 - Fatal编程技术网

Sql 带有链接表的排除查询

Sql 带有链接表的排除查询,sql,visual-studio-2012,sql-server-ce-4,Sql,Visual Studio 2012,Sql Server Ce 4,我有两张桌子 **Item** ID ... **ShapeItem** ID ItemID ShapeID RegionID 还有其他列和表,但它们与此问题无关 我可以使用内部联接成功返回在特定区域id中具有特定形状id的所有项目 SELECT ID FROM Item INNER JOIN ShapeItem ON Item.ID = ShapeItem.ItemID WHERE ShapeID = 2 然而,我想颠倒这个逻辑,返回所有没有特定形状的项目,所以我的第一个想法是这样做 S

我有两张桌子

**Item**
ID
...

**ShapeItem**
ID
ItemID
ShapeID
RegionID
还有其他列和表,但它们与此问题无关

我可以使用内部联接成功返回在特定区域id中具有特定形状id的所有项目

SELECT ID FROM Item INNER JOIN ShapeItem ON Item.ID = ShapeItem.ItemID WHERE ShapeID = 2
然而,我想颠倒这个逻辑,返回所有没有特定形状的项目,所以我的第一个想法是这样做

SELECT ID FROM Item INNER JOIN ShapeItem ON Item.ID = ShapeItem.ItemID WHERE ShapeID <> 2
然而,这并没有产生所需的结果,它返回了所有具有非特定形状的项目,但它没有考虑那些根本没有任何形状的项目

我的下一个想法是使用左连接,但它返回的每个项目都有空值,超过400000

我现在被困在这个问题上,你能为我建议一条前进的道路吗

总结

我想返回所有没有特定形状的项目,包括ShapeItem表中根本没有引用的项目

SQL SERVER COMPACT 4.0 C Visual Studio 2012
快速建议:寻找一些选择。。。如果不存在,请选择一个子查询以查找任何匹配项。。。如果这没有帮助: