avatar
找不match的记录# Database - 数据库
x*g
1
问一个新手问题,如何根据多个列找不match的记录?
Table T1, column C1, C2, C3
Table T2, column C1, C2, C4
用INNER JOIN可以找到T1里面满足条件
T1.C1=T2.C1 AND T1.C2=T2.C2的记录。
我的问题是如何选出在T1里面不满足
T1.C1=T2.C1 AND T1.C2=T2.C2的记录?
谢谢
avatar
c*t
2
select C1, C2, C3 from T1
minus
select C1, C2, C3 from T2
vise versa

【在 x*g 的大作中提到】
: 问一个新手问题,如何根据多个列找不match的记录?
: Table T1, column C1, C2, C3
: Table T2, column C1, C2, C4
: 用INNER JOIN可以找到T1里面满足条件
: T1.C1=T2.C1 AND T1.C2=T2.C2的记录。
: 我的问题是如何选出在T1里面不满足
: T1.C1=T2.C1 AND T1.C2=T2.C2的记录?
: 谢谢

avatar
x*g
3
thanks for the reply.
I am using ms sql which I think doesn't have minus.
also the columns in T1 and T2 are not exact same.

【在 c**t 的大作中提到】
: select C1, C2, C3 from T1
: minus
: select C1, C2, C3 from T2
: vise versa

avatar
k*e
4
ms sql 2005 has 'except'

【在 x*g 的大作中提到】
: thanks for the reply.
: I am using ms sql which I think doesn't have minus.
: also the columns in T1 and T2 are not exact same.

avatar
I*y
5
Left join应该可以。
select T1.* from T1
left join T2 on T1.c1=T2.c1 and ...
where T2.C1 is null

【在 x*g 的大作中提到】
: 问一个新手问题,如何根据多个列找不match的记录?
: Table T1, column C1, C2, C3
: Table T2, column C1, C2, C4
: 用INNER JOIN可以找到T1里面满足条件
: T1.C1=T2.C1 AND T1.C2=T2.C2的记录。
: 我的问题是如何选出在T1里面不满足
: T1.C1=T2.C1 AND T1.C2=T2.C2的记录?
: 谢谢

avatar
J*n
6

同楼上
不过应该
where T2.C4 is null吧

【在 x*g 的大作中提到】
: 问一个新手问题,如何根据多个列找不match的记录?
: Table T1, column C1, C2, C3
: Table T2, column C1, C2, C4
: 用INNER JOIN可以找到T1里面满足条件
: T1.C1=T2.C1 AND T1.C2=T2.C2的记录。
: 我的问题是如何选出在T1里面不满足
: T1.C1=T2.C1 AND T1.C2=T2.C2的记录?
: 谢谢

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。