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
快速建议:寻找一些选择。。。如果不存在,请选择一个子查询以查找任何匹配项。。。如果这没有帮助: