SQL查询数据更新

问题描述 投票:-2回答:1

我的表格数据采用以下格式

“平移列表和EmailId列表”

我想这样转换:

PAN         E1      E2      E3      E4      E5
---------------------------------------------------
SSDEE3254N  email1  email2  email3  email4  email5

我该怎么做?请尽快回复。这是严重性问题。

sql sql-server
1个回答
0
投票

尝试此查询。这将为PAN号码最多提供5个电子邮件ID。

SELECT D.PAN
     ,MAX(CASE WHEN RN=1 THEN D.EmailId ELSE '' END)E1
     ,MAX(CASE WHEN RN=2 THEN D.EmailId ELSE '' END)E2
     ,MAX(CASE WHEN RN=3 THEN D.EmailId ELSE '' END)E3
     ,MAX(CASE WHEN RN=4 THEN D.EmailId ELSE '' END)E4
     ,MAX(CASE WHEN RN=5 THEN D.EmailId ELSE '' END)E5
FROM(
    SELECT PAN, 
        EmailId,
        ROW_NUMBER() OVER(PARTITION BY PAN ORDER BY PAN) RN
    FROM YourTable
    )D
GROUP BY PAN
© www.soinside.com 2019 - 2024. All rights reserved.