sqlserver豎錶轉橫表備忘


select
* from EDUSTATDATA where 指標類別='小學教育資源' and (指標='學校數' or 指標='學齡人口數' ) and 時間='2016年' and 地區代碼 in(SELECT [SYS_FLD_CLASS_CODE] FROM [LNEDU].[dbo].[CYFD_CLS2_NEW] where SYS_FLD_CLASS_CODE like 'xj06%' and (SYS_FLD_CLASS_GRADE=1 or SYS_FLD_CLASS_GRADE=2))

轉表:spa

select 地區代碼,地區,sum(case 指標 when '學校數' then 數值 else 0 end) as 學校數,sum(case 指標 when '學齡人口數' then 數值 else 0 end) as 學齡人口數 from EDUSTATDATA where 指標類別='小學教育資源' and 時間='2016年' and 地區代碼 in(SELECT [SYS_FLD_CLASS_CODE] FROM [LNEDU].[dbo].[CYFD_CLS2_NEW] where SYS_FLD_CLASS_CODE like 'xj06%' and (SYS_FLD_CLASS_GRADE=1 or SYS_FLD_CLASS_GRADE=2)) group by 地區代碼,地區 order by 地區代碼

select * from [QMGBDATA] 

轉表:code

select * from [QMGBDATA]   as C PIVOT(max(數值) FOR [時間] IN([2012年],[2013年],[2014年],[2015年],[2016年])) AS T where (學校標識碼='2121000001' or 學校名稱 = '2121000001')  and 指標 in ('教學班數','在校學生數','專任教師','生師比','生均圖書','在校學生鞏固率','生均固定資產總值') and 學校標識碼 in (SELECT [學校標識碼]  FROM [LNEDU].[dbo].[SCHOOLINFO_2010] where 學校類別='小學' and 地區代碼 like 'xj06%')

相關文章
相關標籤/搜索