2013-01-31 51 views
0
declare @t table 
(
    driver varchar(20), 
    roadband varchar(20), 
    category varchar(20), 
    points int 

) 

INSERT INTO @T VALUES('Dan' ,'20 Mph','CAT1',58) 
INSERT INTO @T VALUES('Dan' ,'20 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('Dan' ,'20 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('Dan' ,'30 Mph', 'CAT1', 102) 
INSERT INTO @T VALUES('Dan' ,'30 Mph', 'CAT2', 30) 
INSERT INTO @T VALUES('Dan' ,'30 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('Dan' ,'40 Mph', 'CAT1', 6) 
INSERT INTO @T VALUES('Dan' ,'40 Mph', 'CAT2', 3) 
INSERT INTO @T VALUES('Dan' ,'40 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('Dan' ,'50 Mph', 'CAT1', 5) 
INSERT INTO @T VALUES('Dan' ,'50 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('Dan' ,'50 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('Dan' ,'60 Mph', 'CAT1', 0) 
INSERT INTO @T VALUES('Dan' ,'60 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('Dan' ,'60 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('Dan' ,'70 Mph', 'CAT1', 0) 
INSERT INTO @T VALUES('Dan' ,'70 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('Dan' ,'70 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('John' ,'20 Mph', 'CAT1', 6) 
INSERT INTO @T VALUES('John' ,'20 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('John' ,'20 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('John' ,'30 Mph', 'CAT1', 1228) 
INSERT INTO @T VALUES('John' ,'30 Mph', 'CAT2', 654) 
INSERT INTO @T VALUES('John' ,'30 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('John' ,'40 Mph', 'CAT1', 196) 
INSERT INTO @T VALUES('John' ,'40 Mph', 'CAT2', 117) 
INSERT INTO @T VALUES('John' ,'40 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('John' ,'50 Mph', 'CAT1', 6) 
INSERT INTO @T VALUES('John' ,'50 Mph', 'CAT2', 14) 
INSERT INTO @T VALUES('John' ,'50 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('John' ,'60 Mph', 'CAT1', 0) 
INSERT INTO @T VALUES('John' ,'60 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('John' ,'60 Mph', 'CAT3', 0) 
INSERT INTO @T VALUES('John' ,'70 Mph', 'CAT1', 0) 
INSERT INTO @T VALUES('John' ,'70 Mph', 'CAT2', 0) 
INSERT INTO @T VALUES('John' ,'70 Mph', 'CAT3', 0) 

我需要轉動上RoadbandCategory顯示多個值成列在SQL Server ..使用數據透視

我已經寫了查詢..需要一些幫助..

select * from 
(
    select 
    Driver, ROADBAND, category,SUM(points) as Points 
    from @t 
    where DRIVER is not null 
    group by DRIVER ,ROADBAND,CATEGORY 
) main 
pivot 
(
    sum(Points) 
    for ROADBAND in ([20 Mph],[30 Mph],[40 Mph],[50 Mph],[60 Mph],[70 Mph]) 
) pq 

現在如何通過公路帶來每個類別的樞紐。

請大家幫忙。

+0

如果您發佈的代碼, XML或數據樣本,**請在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕(「{}」)以精確地格式化和語法突出顯示它! –

回答

0

從你的問題,我不知道你在想列,應該是什麼行,所以我寫了這兩個問題,我希望他們中的一個回答你的問題是什麼值:

SELECT * 
FROM (
      SELECT category 
        , roadband 
        , SUM(points) points_per_category_roadband 
      FROM @t 
      GROUP BY 
        category, roadband 
) tbl 
PIVOT 
(
    SUM(points_per_category_roadband) FOR roadband IN ([20 Mph],[30 Mph],[40 Mph],[50 Mph],[60 Mph],[70 Mph]) 
) pvt 


SELECT * 
FROM (
      SELECT roadband 
        , category 
        , SUM(points) points_per_category_roadband 
      FROM @t 
      GROUP BY 
        roadband, category 
) tbl 
PIVOT 
(
    SUM(points_per_category_roadband) FOR category IN ([CAT1],[CAT2],[CAT3]) 
) pvt