如何在postgresql交叉表中用零替换空值

我有一个产品表,其中包含产品id和100多个属性。产品标识为文本,而属性列为整数,即如果属性存在,则为1。在运行Postgresql交叉表时,不匹配的AtrAttribute返回空值。如何用零替换空值

选择ct*
进入三号货柜码头
从交叉表(
'按1,2从产品订单中选择帐号、属性名称、子项',
'按1的顺序从属性名称中选择不同的属性名称')
作为ct(
帐号文本,
Attr1整数,
Attr2整数,
Attr3整数,
Attr4整数,
...
)

替换此结果:

账号属性1属性2属性3属性4
1.00000001 1空
1.00000002空空空1空
1.00000003空空空1空
1.00000004 1空
1.00000005 1空
1.00000006空1
1.00000007 1空

以下是:

账号属性1属性2属性3属性4
一点零零零零零零零一一零零零
一点零零零零零零零二零零一零
一点零零零零零零零三零零一零
一点零零零零零零零四一零零零
一点零零零零零零零五一零零零
一点零零零零零零零六零零零一
一点零零零零零零零七一零零零

一个解决方法是选择一个帐号,coalesce(Attr1,0)。。。关于结果。但是为100多列中的每一列键入coalesce是相当困难的。有没有办法用交叉表来处理这个问题?谢谢

您可以使用合并:

选择账号,
合并(Attr1,0)为Attr1,
合并(Attr2,0)为Attr2,
等

发表评论