数据库中的的表:aaa 结构如下
序号 始发站 金额
1 北京 100
2 北京 200
3 北京 300
4 上海 500
5 上海 500
数据需要汇总后横向显示:
北京 上海
600 1000
新手,请高手帮忙
------解决思路----------------------
--静态
SELECT
ISNULL(SUM(CASE WHEN 始发站='北京' THEN 金额 END),0)[北京]
,ISNULL(SUM(CASE WHEN 始发站='上海' THEN 金额 END),0)[上海]
FROM aaa
--动态
DECLARE @SQL VARCHAR(8000)
SET @SQL=''
SELECT @SQL=@SQL+',ISNULL(SUM(CASE WHEN 始发站='''+始发站+''' THEN 金额 END),0)['+始发站+']'
FROM aaa GROUP BY 始发站
SET @SQL='SELECT '+STUFF(@SQL,1,1,'')+'FROM aaa'
PRINT @SQL
EXEC(@SQL)