首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于在多个列中查找至少一个非空值的SQL

用于在多个列中查找至少一个非空值的SQL
EN

Stack Overflow用户
提问于 2018-02-24 01:49:11
回答 3查看 49关注 0票数 0

我有一个包含很少非键属性的表。我想知道如何编写一个查询来查找键列,在这些键列中的任何一行中都可以找到非空值。

例如1:

代码语言:javascript
复制
Key1 Key2 NonKey1 NonKey2    
k1   k2   nk1      nk2    
k1   k2   null     nk2    
k1   k2   nk1      null  

例如2:

代码语言:javascript
复制
Key1 Key2 NonKey1 NonKey2 NonKey3    
k1   k2   null     nk2     nk3
k1   k2   nk1      nk2     null

期望值:

代码语言:javascript
复制
Key1 Key2 NonKey1 NonKey2
k1   k2   nk1      nk2
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-24 02:04:12

如下所示:

代码语言:javascript
复制
    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,但您已经明白了。)

票数 0
EN

Stack Overflow用户

发布于 2018-02-24 02:03:38

您是否只是想为每个非键列获取一个值?

代码语言:javascript
复制
select key1, key2, max(nonkey1), max(nonkey2)
from mytable
group by key1, key2;
票数 1
EN

Stack Overflow用户

发布于 2018-02-26 15:05:21

其他方法:

代码语言:javascript
复制
select distinct key1, key2
from MyTable
where nonkey2 is not null and nonkey3 is not null
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48953563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档