我有一个非关键属性很少的表。我想知道如何编写查询来查找关键列,我可以在这些列中查找不是空行的任何一行。
例如1:
Key1 Key2 NonKey1 NonKey2
k1 k2 nk1 nk2
k1 k2 null nk2
k1 k2 nk1 null
例如2:
Key1 Key2 NonKey1 NonKey2 NonKey3
k1 k2 null nk2 nk3
k1 k2 nk1 nk2 null
预期:
Key1 Key2 NonKey1 NonKey2
k1 k2 nk1 nk2
答案 0 :(得分:1)
您是否只想为每个非键列获取一个值?
select key1, key2, max(nonkey1), max(nonkey2)
from mytable
group by key1, key2;
答案 1 :(得分:0)
这样的事情:
select key1, key2, max(nonkey2), max(nonkey3)
from MyTable
having max(nonkey2) is not null or max(nonkey3) is not null
group by key1, key2
(这是SQL Server,但你明白了。)
答案 2 :(得分:0)
其他方法:
select distinct key1, key2
from MyTable
where nonkey2 is not null and nonkey3 is not null