gpt4 book ai didi

postgresql - postgres 中空值的选择查询中的默认值

转载 作者:行者123 更新时间:2023-11-29 11:20:14 24 4
gpt4 key购买 nike

我有一张包含销售 ID、产品代码和金额的表格。有些地方产品代码是空的。我想显示 Missing 而不是 null。下面是我的表格。

salesId     prodTypeCode    amount
1 123 150
2 123 200
3 234 3000
4 234 400
5 234 500
6 123 200
7 111 40
8 111 500
9 1000
10 123 100

我想显示每个 prodTypeCode 的总金额,如果 prodTypeCode 为 null,则应显示 Missing 选项。

select (CASE WHEN prodTypeCode IS NULL THEN
'Missing'
ELSE
prodTypeCode
END) as ProductCode, SUM(amount) From sales group by prodTypeCode

以上查询给出错误。请建议我克服这个问题。我创建了一个 SQLFIDDLE

最佳答案

问题是数据类型不匹配; 'Missing'是文本,但产品类型代码是数字。

将产品类型代码转换为文本,使两个值兼容:

select (CASE WHEN prodTypeCode IS NULL THEN
'Missing'
ELSE
prodTypeCode::varchar(40)
END) as ProductCode, SUM(amount) From sales group by prodTypeCode

参见 SQLFiddle .

或者,更简单:

select coalesce(prodTypeCode::varchar(40), 'Missing') ProductCode, SUM(amount)
from sales
group by prodTypeCode

参见 SQLFiddle .

关于postgresql - postgres 中空值的选择查询中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787892/

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