我知道有這個命令被呼叫PIVOT,這就是我可能需要的,但第一次嘗試使用它時,似乎我無法使其語法正常作業。
所以這是我的示例資料:
CREATE TABLE MyTable
(
CompanyName NVARCHAR(20),
Price INT,
Project NVARCHAR(50)
);
INSERT INTO dbo.MyTable (CompanyName, Price, Project)
VALUES ('Dell', 450, 'Cleaning'),
('Dell', 150, 'Vaccuming'),
('Dell', 1200, 'Painting'),
('Dell', 100, 'VendingMachines'),
('Dell', 600, 'Wallpapers'),
('Dell', 820, 'Carpeting')
我希望這些Project Name變成列,例如有像 "Cleaning" 、 "Carpeting" 等的列,然后每列的值是Price.
這是我到目前為止嘗試過的,但語法錯誤:
SELECT *
FROM
(SELECT CompanyName, Price, Project
FROM dbo.MyTable) src
PIVOT
(SUM(Price)
FOR Project IN ('Cleaning', 'Vaccuming', 'Painting', 'VendingMachines', 'Wallpapers', 'Carpeting')
) piv;
uj5u.com熱心網友回復:
括號[]你的列名
示例或dbFiddle
SELECT *
FROM
(
SELECT CompanyName, Price, Project
FROM dbo.MyTable
) src
PIVOT
(
SUM(Price)
FOR Project IN ([Cleaning], [Vaccuming], [Painting], [VendingMachines], [Wallpapers], [Carpeting])
) piv;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322808.html
標籤:sql sql-server 查询语句
