写个存储过程吧,典型的行列转换问题
看看这里吧
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3224029

解决方案 »

  1.   

    select a = case when b = 2 or b = 3 then ''
                    when b = 1 then a
               end,
           b,
           KK = case b when 1 then 10
                       when 2 then 7
                       else 5
                end,
           MM = case b when 1 then 7
                       when 2 then 6
                       else 3
                end,
           NN = case b when 1 then 8
                       when 2 then 5
                       else 3
                end,
           PP = case b when 1 then 34
                       when 2 then 10
                       else 11
                end
    from (select a,b,c from t union all 
          select '杭州',1,'MM' union all
          select '杭州',2,'MM' union all
          select '杭州',3,'MM' union all
          select '上海',1,'MM' union all
          select '上海',2,'MM' union all
          select '上海',3,'MM' union all
          select '北京',1,'MM' union all
          select '北京',2,'MM' union all
          select '北京',3,'MM') t group by a,b