日期:2014-05-16  浏览次数:20759 次

如何建立一个视图,让行的变成列?
例如把表

medname                                 sum
维C银翘片                               4
葡萄糖酸钙片                         45
牛黄解毒片                             87
感冒片                                     67


变成如下所示:
          medname         维C银翘片       葡萄糖酸钙片     牛黄解毒片     感冒片  
         
            sum                   4                       45                                 87             67

大家来帮帮忙,要是不能建视图的话就再建立一个表好了,但有没有这种技术让它可以根据原表改变而动态地表化?

------解决方案--------------------
select
case when medname = '维C银翘片 ' then [sum] else 0 end 维C银翘片 ,
case when medname = '葡萄糖酸钙片 ' then [sum] else 0 end 葡萄糖酸钙片 ,
case when medname = '牛黄解毒片 ' then [sum] else 0 end 牛黄解毒片 ,
case when medname = '感冒片 ' then sum else 0 end 感冒片
from 表名
------解决方案--------------------
动态生成 case when 语句