2016-03-08 125 views
-2

有人可以告诉我查询。我有一张桌子,里面有我想要旋转的下列数据。SQL数据透视查询数据

Name Ride Hour 
Abbas Falls 1 
Abbas Falls 2 
Abbas Falls 3 
Shiraz Falls 1 
Shiraz Falls 2 
Shiraz Falls 3 
Adnan Falls 1 
Adnan Falls 2 
Adnan Falls 3 
Adnan Falls 4 
Abbas Lunch 4 
Shiraz Lunch 4 
Adnan Lunch 5 
Abbas Jolly 5 
Shiraz Jolly 5 
Abbas Jolly 6 
Shiraz Jolly 6 
Adnan Jolly 6 

我想将它转化成这个样子:

Name 1  2  3  4  5  6 
Abbas falls falls falls Lunch Jolly Jolly 
Shiraz falls falls falls Lunch Jolly Jolly 
Adnan falls falls falls falls Lunch Jolly 

我写了这一点,但它并没有做的工作

SELECT * 
FROM 
(SELECT * 
    FROM _Test) as test 
PIVOT 
(
COUNT(ride) 
FOR hour IN ([1], [2], [3], [4], [5], [6]) 
) AS PivotTable 

回答

0

使用MAX,而不是COUNT

SELECT * 
FROM (SELECT * 
     FROM Test) as test 
PIVOT (
    MAX(ride) 
    FOR hour IN ([1], [2], [3], [4], [5], [6])) AS PivotTable 
+0

对不起,这是一个滑倒,我纠正了它。再次感谢你 – Abbaskhan