您好我在两个文件File1和File 2上运行查询分别有字段a,b,c和d,e,f .A和D& B和E属于同一类型,是文件中的键。所以我正在运行一个查询来查找File1中不存在的所有File1记录。我正在运行连接,基于字段a,b和d,e。但是它有些不起作用:
select * from file1 where a,b not in ((select a,b from file1 x,file2 y where y.a=x.d
and y.b=x.e) z)
它说不是条款不正确然后我试过:
select * from file1 where not exists (select a,b from file1 x,file2 y where y.a=x.d
and y.b=x.e)
它也不起作用!!!请提出建议!我在DB2 AS400上
答案 0 :(得分:1)
SELECT *
FROM file1 f1
WHERE NOT EXISTS(SELECT NULL
FROM file2 f2
WHERE f1.a = f2.d
AND f1.b = f2.e)
您也可以使用LEFT JOIN执行此操作:
SELECT f1.*
FROM file1 f1
LEFT JOIN file2 f2
ON f1.a = f2.d
AND f1.b = f2.e
WHERE f2.d IS NULL
答案 1 :(得分:0)
做一个简单的连接并在第二个表中应用一个WHERE子句,其中为NULL ...
select
F1.a,
F1.b,
F1.c
from
File1 F1
left join File2 F2
on F1.a = F2.d
and F1.b = F2.e
where
F2.d is null