gpt4 book ai didi

sql - 某些列中的结果为空

转载 作者:行者123 更新时间:2023-12-05 02:16:29 26 4
gpt4 key购买 nike

我正在努力减少每天在表格中插入的行数。

在其中大约 5% 到 10% 的情况下,我得到的只是主键值。我想知道是否有任何方法可以只选择超过 PK 值的行。

比如我现在得到的结果:

PK1    PK2    cl1    cl2    cl3    cl4
---------------------------------------------------------------------------
a Louis null null 171 15
a Jack 13 null null null
a Marty 17 14 130 null
b Louis 10 11 110 12
b Jack 03 null 185 null
b Marty null null null null
c Louis 16 48 null 25
c Jack null null null null
c Marty 13 null null 64
d Louis null null null null
d Jack 21 12 165 null
d Marty null null null null

我想要的结果:

PK1    PK2    cl1    cl2    cl3    cl4
---------------------------------------------------------------------------
a Louis null null 171 15
a Jack 13 null null null
a Marty 17 14 130 null
b Louis 10 11 110 12
b Jack 03 null 185 null

c Louis 16 48 null 25

c Marty 13 null null 64

d Jack 21 12 165 null

SQL 中是否有任何请求可以更改为该请求?现在我在下面使用这个

SELECT 
table.PK1,table.PK2,
table.cl1,table.cl2,table.cl3,table.cl4,
FROM
datatable table

提前致谢

编辑:这是一个例子,有一百多个列(不是 pk),我不想用“where”过滤。 (或者只是在最坏的情况下)

最佳答案

您可以使用 coalesce功能。它接受任意数量的参数并返回第一个非空参数。例如:

select coalesce(3, 1, 4);            -->  3
select coalesce(3, null, 4); --> 3
select coalesce(null, 1, 4); --> 1
select coalesce(null, null, 4); --> 4
select coalesce(null, null, null); --> null

您可以使用它来检查是否所有列都是null:

where coalesce(col1, col2, ..., colN) is null

关于sql - 某些列中的结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49904019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com