我有两个表t1和t2如下
T1查询PostgreSQL中
A B C D E
1 2 c d e
3 1 d e f
4 2 f g h
T2
A B
1 2
8 6
4 2
这里A,B,C,d,E是t1和A,B的列是t2的列,其中A和B是公共列。
我至今
我写了下面的查询
WITH temp as (
select *
from t2
)
select tab1.*
from t1 tab1, temp tab2
where (tab1.A!=tab2.A OR tab1.B!=tab2.B)
我想这个输出
A B C D E
3 1 d e f
但我越来越这个输出
A B C D E
1 2 c d e
1 2 c d e
3 1 d e f
3 1 d e f
3 1 d e f
4 2 f g h
4 2 f g h
我应该使用什么查询?
它不返回任何行:(是U确保查询工作正常u能知道?如何执行此查询? – suraj
上面的粘贴来自实际的psql会话,所以它肯定适用于您提供的测试数据。如果第二个表不包含匹配,则左外连接将添加NULL而不是真实数据行(基于'ON(t1.a = t2.a和t1.b = t2.b)'条件)。 – mitchnull
请原谅我。 ctually。如果没有“t2.a is null”约束,您可以在左外连接之后显示输出吗?我试图了解这个查询。 – suraj