Sql 将事务数据透视到二进制格式表中
我每天有一个事务表,每天可以有1到多个事务。现在,我想以这样一种方式对其进行转换,即如果事务表中没有当天的记录,则每个客户获得一条记录,其中包含一系列0,如果当天有记录,则为1 如何在SQL或Postgres中实现这一点 例如: 转换此事务表:Sql 将事务数据透视到二进制格式表中,sql,postgresql,pivot,Sql,Postgresql,Pivot,我每天有一个事务表,每天可以有1到多个事务。现在,我想以这样一种方式对其进行转换,即如果事务表中没有当天的记录,则每个客户获得一条记录,其中包含一系列0,如果当天有记录,则为1 如何在SQL或Postgres中实现这一点 例如: 转换此事务表: Cust Date 123 2/3/2015 123 4/3/2015 456 1/3/2015 下表: Cust 1/3/2015 2/3/2015 3/3/2015 4/3/2015 123
Cust Date
123 2/3/2015
123 4/3/2015
456 1/3/2015
下表:
Cust 1/3/2015 2/3/2015 3/3/2015 4/3/2015
123 0 1 0 1
456 1 0 0 0
根据使用交叉表的建议,我提出了以下SQL:
SELECT *
FROM CROSSTAB12 (
'SELECT CALLING_ISDN AS A_PARTY, DATE(CALL_STA_TIME), 1 AS VALUE
FROM CDRVMS_ADMIN.AW_CDRICC_SAMPLE
ORDER BY 1,2');
这会产生以下错误消息我正在Netezza机器上工作:
在字符26处发现错误42000,需要关键字
我正在使用此文档:感谢您对带有\u no \u名称的\u horse\u进行格式更改。我也愿意接受改变这个问题标题的建议,我不是以英语为母语的人,这可能无法很好地解释我想要得到的答案。对不起!您可以使用交叉表来实现这一点:这里可以找到数据透视表/交叉表的好例子: