Case 将多个电子邮件地址透视到列
我需要透视电子邮件表,以便在不同的列中显示不同的电子邮件地址。数据相对简单。下面的代码让我感到困惑,我得到了以下错误消息。第6行,关键字“FROM”附近的语法不正确。第14行,关键字“AS”附近的语法不正确。感谢您在advanced中的所有帮助!我是一个相对的新手:) 我需要电子邮件在不同的栏目Case 将多个电子邮件地址透视到列,case,sql-server-2017,Case,Sql Server 2017,我需要透视电子邮件表,以便在不同的列中显示不同的电子邮件地址。数据相对简单。下面的代码让我感到困惑,我得到了以下错误消息。第6行,关键字“FROM”附近的语法不正确。第14行,关键字“AS”附近的语法不正确。感谢您在advanced中的所有帮助!我是一个相对的新手:) 我需要电子邮件在不同的栏目 您有一个额外的逗号在电子邮件4之后,就在来自的之前谢谢您松鼠!对于任何试图遵循这一点的人,在第4行和第5行的各种casesEntity_FK值实际为1之前,我还需要MAX,或者它是一个输入错误,并且
您有一个额外的
逗号
在电子邮件4
之后,就在来自的之前
谢谢您松鼠!对于任何试图遵循这一点的人,在第4行和第5行的各种casesEntity_FK值实际为1之前,我还需要MAX,或者它是一个输入错误,并且值应该为2?请将您的数据添加为txt格式,以便在我的数据库中创建测试用例,并编写true查询
``
SELECT Emails.entity_FK,
CASE WHEN emails.MyDefault = 1 THEN emails.EmailAddress END AS EmailPrimary,
CASE WHEN em.RowNum = 1 THEN em.EmailAddress END AS Email_2,
CASE WHEN em.RowNum = 2 THEN em.EmailAddress END AS Email_3,
CASE WHEN em.RowNum = 3 THEN em.EmailAddress END AS Email_4,
FROM Emails
LEFT JOIN
(
SELECT Entity_FK, EmailAddress,
ROW_NUMBER() OVER (PARTITION BY Entity_FK ORDER BY Email_PK)
as RowNum
FROM emails
WHERE MyDefault = 0 AND EntityTypeCode_FK = 126
) AS em
emails.Entity_FK = em.Entity_FK
WHERE emails.EntityTypeCode_FK = 126
``