2013-04-24 24 views
0

任何人都可以纠正我怎么做错了摆动的行和列?数据透视表的deptno列和行数和工资?

--Trying to count no. of employees in each dept and pivoting it as deptno on columns and counts of no. of employees 
-- rows 

SELECT 10, 20, 30 
FROM emp 
PIVOT 
(
count(deptno) 
FOR empno IN ([10],[20],[30]) 
) 
as pt 

--Trying to sum of salary in each dept and pivoting it as deptno on columns and sum of salary of rows but same repeating nature 
-- rows 

SELECT 10, 20, 30 
FROM emp 
PIVOT 
(
deptno(deptno) 
FOR deptno IN ([10],[20],[30]) 
) 
as pt 
+0

你可以张贴一些示例数据,我认为这是一个类型应该是'总和(DEPTNO)' – praveen 2013-04-24 10:00:48

回答

1

尝试这一个 -

DECLARE @temp TABLE (deptno INT) 

INSERT INTO @temp (deptno) 
VALUES (10),(20),(20), (40),(30) 

SELECT [10], [20], [30] 
FROM @temp 
PIVOT 
(
    COUNT(deptno) 
    FOR deptno IN ([10], [20], [30]) 
) pt 
+1

@RichardTheKiwi,很难与你争论: )。最初,用户在SELECT块中指定了不是列名称,而是数字常数值。为了使这个例子起作用,只需要引用列名。 – Devart 2013-04-24 10:46:40