我正在尝试创建一个查询,使用PIVOT函数将行转换为列.
这是contact我想要转换成行的表:
PARTYID CONTACTTEXT CONTACTTYPECD
---------- ------------ -------------
100 0354441010 1
100 0355551010 2
100 0428105789 3
100 abc@home.com 4
Run Code Online (Sandbox Code Playgroud)
我的预期结果:
PARTYID PHONE FAX MOBILE EMAIL
---------- ------------ ------------ ------------ ------------
100 0354441010 0355551010 0428105789 abc@home.com
Run Code Online (Sandbox Code Playgroud)
我的查询:
SELECT * FROM
(
SELECT partyId, contacttext, contacttypecd
FROM CONTACT
WHERE partyId = 100;
)
PIVOT (
MAX(contacttext)
FOR contacttypecd in (1 Phone, 2 Fax, 3 Mobile, 4 Email));
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Error starting at line 9 in command:
FOR contacttypecd in (1 …Run Code Online (Sandbox Code Playgroud)