我有两个带有“Field Name”列的表。某些表B字段名称与表A字段名称相同。如果是这种情况,我想从组合框中排除那些,所以我没有双(在这种情况下我只想要表A字段名)。我还需要组合框中的ID(每个表都是唯一的)。
我似乎无法想出正确的SQL逻辑。现在,我正在尝试以下
SELECT [fldID], [fldName] FROM OISInfo UNION
(SELECT [ID], [Field Name] FROM FldDef
LEFT JOIN OISInfo ON [Field Name] = [fldName] WHERE [fldName] IS NULL)
但是Access一直告诉我不支持连接表达式(在括号中)。表名绝对正确。
我做错了什么?
答案 0 :(得分:0)
Union负责双打,这就是你所要做的一切
SELECT [fldID], [fldName] FROM OISInfo
UNION
SELECT [ID], [Field Name] FROM FldDef
答案 1 :(得分:0)
Tested.Worked完美。表5是您的表A或OISInfo。表6是您的表B(FldDef)
SELECT Table5.ID, Table5.Field1
FROM Table5
UNION
SELECT Table6.ID, Table6.Field1
FROM Table6 LEFT JOIN Table5 ON Table6.[Field1] = Table5.[Field1]
WHERE (((Table5.Field1) Is Null));