两表关联的分组的交叉表,如何使用sql语句完成。目标如下图
1个回答
2012-12-10
展开全部
SELECT
*
FROM
(
SELECT
t1.km, t1.[year], t2.[user], t2.[money]
FROM
#t1 t1 JOIN #t2 t2
ON (t1.id = t2.fid)
) subQuery
PIVOT(
SUM(subQuery.[money])
FOR subQuery.[year] IN ([2008], [2009], [2010] )
) tmp
order by
1
*
FROM
(
SELECT
t1.km, t1.[year], t2.[user], t2.[money]
FROM
#t1 t1 JOIN #t2 t2
ON (t1.id = t2.fid)
) subQuery
PIVOT(
SUM(subQuery.[money])
FOR subQuery.[year] IN ([2008], [2009], [2010] )
) tmp
order by
1
更多追问追答
追问
这是不是sql server2008的专用语句?
能否转化成专门的t-sql
pivot关键字在2005中似乎不可用
追答
pivot 是 SQL 2005 新特性啊。
会不会是你数据库兼容级别是sql 2000 啊。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询