【问题标题】:Salesforce Marketing Cloud SQL PIVOTSalesforce 营销云 SQL PIVOT
【发布时间】:2020-03-04 12:39:32
【问题描述】:

我正在尝试在 SFMC 中创建一个数据透视表,以将多行合并为一列。查询运行成功,但未正确填充。我的表有 2 列:电子邮件地址和 product_sku。每个电子邮件地址在表格中出现 3 次,旁边有一个不同的 product_sku。我希望输出具有唯一的电子邮件地址,带有 3 个 product_skus

示例文件:

电子邮件 | product_sku
测试@test.com | 12314321131412
测试@test.com | 45353643645
测试@test.com | 0953242425352

所需输出示例:

电子邮件 | product_sku_header_1 | product_sku_header_2 | product_sku_header_3
----------------------------------------------- ----------------------------------
测试@test.com | 12314321131412 | 45353643645 | 0953242425352

我的查询是:

select
email
, sum(case when product_sku ='%' then 1 else 0 end) as product_sku_header_1
, sum(case when product_sku ='%' then 1 else 0 end) as product_sku_header_2
, sum(case when product_sku ='%' then 1 else 0 end) as product_sku_header_3
FROM data_extension
group by 
email

提前致谢!

【问题讨论】:

    标签: sql sql-server-2005 salesforce salesforce-marketing-cloud


    【解决方案1】:

    您可以使用row_number() 进行条件聚合:

    select email,
           max(case when seqnm = 1 then product_sku end) as  product_sku_header_1,
           max(case when seqnm = 2 then product_sku end) as  product_sku_header_2,
           max(case when seqnm = 3 then product_sku end) as  product_sku_header_3
    from (select de.*,
                 row_number() over (partition by email order by product_sku) as seqnum
          from data_extension de
         ) de
    group by email;
    

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 2019-07-06
      • 2019-07-20
      • 2020-08-13
      • 2019-07-20
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      相关资源
      最近更新 更多