闲坐敲棋

有约不来过夜半,闲敲棋子落灯花

导航

行转列 demo

Posted on 2009-08-01 10:56  闲坐敲棋  阅读(124)  评论(0编辑  收藏  举报

--建立测试环境  
  Create   Table   表(区域   varchar(100),类型   varchar(100),价格   varchar(100))  
  --插入数据  
  insert   into   表  
  select   '1长春','1.标准全球通','234'   union  
  select   '1长春','2.全球通资费套餐','5423'   union  
  select   '1长春','3.全球通优惠','454'   union  
  select   '2吉林','1.标准全球通','297'   union  
  select   '2吉林','2.全球通资费套餐','12'   union  
  select   '2吉林','3.全球通优惠','29949'  
   
  --测试语句  
    DECLARE   @SQL   VARCHAR(8000)  
  SET   @SQL='SELECT   区域'  
  SELECT   @SQL=   @SQL+    
  ',min(CASE   WHEN   类型   =   '''   +   类型   +   '''   THEN   价格     END)   ['   +   类型   +   ']'  
  FROM   (SELECT   DISTINCT   类型   FROM   表)   A  
  SET   @SQL=@SQL+'   FROM   表   GROUP   BY   区域'  
  exec   (@SQL)  
     
     
  --删除测试环境  
  Drop   Table   表