【发布时间】:2018-07-24 06:34:17
【问题描述】:
我正在运行查询以搜索主表和其他链接表之间的不匹配值。问题是我在 DIS_ID 上得到了一个“输入参数值”,还有另外三个。对此有什么想法吗?
SELECT *
FROM FILES f
WHERE f.Network_ID not in (SELECT Network_ID from Networks) OR
f.[009_Network] not in (SELECT Network_Code from Networks) OR
f.[LINE1_ID] not in (SELECT LINE_ID from LINE) OR
f.[Line 1] not in (SELECT Line_Code from LINE) OR
f.[Trans_ID] not in (SELECT Trans_ID from Transportation_Mode) OR
f.[Transportation_Mode] not in (SELECT Mode from Transportation_Mode) OR
f.[Discipline_ID] not in (SELECT DIS_ID from DISCIPLINE) OR
f.[012_Discipline] not in (SELECT [Dis Code] from DISCIPLINE) OR
f.[013_System] not in (SELECT [Sys Code] from Systems) OR
f.[System_ID] not in (SELECT System_ID from Systems);
【问题讨论】:
-
仔细检查您的列/表名称。旁注:您可以切换到使用
EXISTS子句以获得可能的性能提升。 -
谢谢蒂姆,我已经非常仔细地检查了我的专栏和表格。还有什么想法吗?
-
另外,能否详细说明一下EXISTS的使用?
-
SELECT DIS_ID from DISCIPLINE 返回什么数据,还是要求参数值。还有,你说的“三更”是什么?
-
DIS_ID、系统代码和 DIS 代码。它返回 null