繁体   English   中英

并非所有记录都存在于一个表中的多对一的逆集合

[英]Inverse set of a many to 1 where not all records exist in one table

TSQL /访问

我正在尝试返回结果集的逆函数。

SELECT Units.Unit_ID
FROM Units
WHERE (((Units.[Unit_ID]) In (SELECT Objects.Unit_ID FROM Objects)));

这将返回上面的全套以及我期望的单个额外记录。

SELECT Units.Unit_ID
FROM Units
WHERE (((Units.[Unit_ID]) not In (SELECT Objects.Unit_ID FROM Objects)));

单元具有对象中不存在的放弃记录。 1个单位的许多对象。 但是对象中不存在某些单位。 那就是我要寻找的结果集。

数据样本集:

对象Unit_ID 1 1 1 2 2 4 5 56 78

单位Unit_ID 1 2 3 4 5 56 78

结果集应为:3

我不想返回两个表中的值。

很好奇,这返回什么:

SELECT Units.Unit_ID
FROM Units
LEFT JOIN Objects ON Objects.Unit_ID = Units.[Unit_ID]
WHERE Objects.Unit_ID IS NULL

要么

SELECT Units.Unit_ID
FROM Units
LEFT JOIN Objects ON Objects.Unit_ID = Units.[Unit_ID]
GROUP BY Units.Unit_ID
HAVING COUNT(Objects.Unit_ID) = 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM