当该列打算具有文本和数字值时,透视表不起作用

时间:2019-01-15 08:05:39

标签: sql sql-server

请使用以下代码反映错误:

CREATE TABLE TESPVTBL
(
    Names   NVARCHAR(20),
    Salary  INT,
    Country NVARCHAR(80)
)

INSERT INTO TESPVTBL (Names, Salary, Country) 
VALUES ('Karthick', 15000, '1300029INDIA'),
       ('BRO1', 15000, '130008INDIA'),
       ('DHARU', 15000, 'US'),
       ('DHARUBRO', 15000, 'US')

SELECT 
    NAMES, 1300029INDIA, 130008INDIA
FROM 
    TESPVTBL
PIVOT
    (SUM(Salary) 
          FOR Country IN (1300029INDIA, 130008INDIA)) AS PT

有什么办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

在列名中使用方括号:

SELECT 
    NAMES, [1300029INDIA], [130008INDIA]
FROM 
    TESPVTBL
PIVOT
    (SUM(Salary) 
          FOR Country IN ([1300029INDIA], [130008INDIA])) AS PT

输出:

enter image description here