首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql话语,某一行数据变为列名

2013-10-24 
sql语句,某一行数据变为列名我有一个表日期合肥F3F4芜湖F6F7-------------------------------------------

sql语句,某一行数据变为列名
我有一个表
   日期       合肥   F3      F4       芜湖   F6      F7
--------------------------------------------------------------------
   NULL       气象   最高    最低     气象   最高    最低
   2013-10    多云   32      20       雨     35      20
   2013-11    晴     30      20       晴     25      20
现在要变为:
   日期           城市    气象    最高     最低
--------------------------------------------------------------
   2013-10        合肥    多云    32        20
   2013-10        芜湖    雨      35        20
   2013-11        合肥    晴      30        20
   2013-11        芜湖    晴      25        20
可以的话尽量写成动态,因为不只两个城市
[解决办法]



select 日期,'合肥' as 城市,合肥 as 气象,F3 as 最高,F4 as 最低
from tb
where 日期 is not null  
union all 
select 日期,'芜湖' as 城市,芜湖 as 气象,F6 as 最高,F7 as 最低
from tb
where 日期 is not null  

[解决办法]
这个是动态生成的语句:



 select 日期,'合肥' as 城市,合肥 as 气象,F3 as 最高,F4 as 最低  
 from tb where 日期 is not null 
 union all 
 select 日期,'芜湖' as 城市,芜湖 as 气象,F6 as 最高,F7 as 最低  
 from tb where 日期 is not null 
 union all 
 select 日期,'北京' as 城市,北京 as 气象,F9 as 最高,F10 as 最低  
 from tb where 日期 is not null 
 union all 
 select 日期,'福州' as 城市,福州 as 气象,F12 as 最高,F13 as 最低  
 from tb where 日期 is not null 

热点排行