[英]Why am I not getting any results from this SQL query (MS Access)
我有两个表,一个是Access 2010中的本地表( Employees ),另一个是SQL Server 2014数据库中的链接表( dbo_Employees )。 该查询在Access内部运行。
供参考,两个表是相同的。 相同的列,相同的数据。 它们实际上是彼此的副本。 唯一的区别是我从SQL Server表中删除了一条记录。 我这样做是因为我要运行的查询是在Employees表中查找与dbo_Employees表中存在的记录匹配的所有记录。 这将返回除一个已删除记录以外的所有记录。 尽管它确实存在于Employees表中,但由于它不存在于dbo_Employees表中,因此将其排除在结果之外。 这是查询:
select Employees.ID
from Employees
where Employees.ID IN (SELECT dbo_Employees.ID FROM dbo_Employees)
当我运行它时,我什么也没得到。 我究竟做错了什么?
您确定两个表中都有匹配的数据吗?
是什么
SELECT
Employees.ID
, dbo_Employees.ID
FROM Employees
INNER JOIN dbo_Employees ON Employees.ID = dbo_Employees.ID
返回? 它返回任何行吗?
否则,以下查询返回什么?
SELECT
Employees.ID
, dbo_Employees.ID
FROM Employees
FULL JOIN dbo_Employees ON Employees.ID = dbo_Employees.ID
您可以使用第二个查询来查看两个表中匹配的数据。 查询将在两个表中输出数据,同时将匹配的ID值放在同一行上,如果不匹配,则在一个或另一个表的对应ID列中显示NULL
值。
(我知道这不是一个合理的答案,更多是评论,但这是OP应该检查的第一件事)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.