如何基于行号动态创建新列

普里雅(Chayhari)

我在表上创建了一个查询,如下所示:

WITH CTE_count
as
(
 select Customer_ID as ID,Brand_Name +'-'+ cast([Sale_Amount] as nvarchar) as 
 brandname,ROW_NUMBER() OVER (PARTITION BY Customer_ID ORDER BY Customer_ID)
 AS lineNumber
 from dbo.sheet1
 group by Customer_ID,Brand_Name,[Sale_Amount]
)
 SELECT ID, brandname,lineNumber
 FROM CTE_count;

当我运行它时,我得到以下输出: 在此处输入图片说明

现在如何为每个客户ID获得1行,例如:

cust_id order1 order2 order3 order4 100000443 AMANA-71.31 AMANA-104.4 AMANA-109.89 AMANA-104.4

如何修改以上查询

我想对每个给出该示例的行的每个ID进行此操作

汽车10分钟

使用您的Cte

...
Select cust_id,
  max(when lineNumber=1 then brandname end) order1,
  max(when lineNumber=2 then brandname end) order2,
  max(when lineNumber=3 then brandname end) order3,
  max(when lineNumber=4 then brandname end) order4
From Cte_count group by cust_id, brandname

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章