【发布时间】:2014-07-17 08:59:41
【问题描述】:
这是上一个问题对上一个问题的后续,但与Find rows where value in column not found in another row相反
给定一张表Table1,列Key1 (int), Key2 (int), and Type (varchar)...
我想排除任何两行
Type 等于 'TypeA' 和 Key2 是 Null
在表中有相应的行
Type 等于 'TypeB' 和 Key2 等于 Key1 来自另一行。
所以,给定数据
**KEY1** **Key2** **Type**
1 NULL TypeA
2 5 TypeA
3 1 TypeB
4 NULL TypeA
5 NULL TypeB
6 26 TypeC
7 NULL TypeD
8 NULL TypeD
我想返回除 Key=1 和 Key=3 之外的所有行,因为这些行一起满足 Type='TypeA'/Key2=NULL 的条件,并且确实有对应的行 Type='TypeB'/ Key1=Key2。
【问题讨论】:
标签: sql sql-server