我在tableA中有数据,可以有多行用于我们的客户。每行都有发票购买的代码。我想为每个客户返回一行,每个发票类型的列等于'100'和'18'。下图显示了表如何返回结果,底部是我想返回的。
enter image description here
我使用此链接作为指导:https://www.youtube.com/watch?v=bNetxDl40pM&ab_channel=Teradata
这就是我的:
select * from mytable1 pivot (max(client) FOR Invoice IN (18, 100) TEST ORDER BY 1
字符串
我运行了查询,但它没有返回我所期望的。
1条答案
按热度按时间fquxozlt1#
您希望透视多个列,因此需要在透视表中包含多个列:
字符串
其中,对于样本数据:
型
产出:
| 客户端|INV18_DESCR| INV 18_数量|INV18_DATE_PAID| INV100_DESCR| INV 100_数量|INV100_DATE_PAID|
| --|--|--|--|--|--|--|
| 123456 |卡车| 800 |2020-01-29 00:00:00|车| 600 |2020-01-23 00:00:00|
fiddle