现有表A,内容如下:    
  
编码   仓库    数量    
01      A       6    
01      B       7    
02      A       8    
02      B       9    
  
现在想按编码查询出这种格式:    
  
编码01      编码02       
  13          9 

解决方案 »

  1.   

    --> 测试数据:[TB]
    if object_id('[TB]') is not null drop table [TB]
    create table [TB]([编码] varchar(2),[仓库] varchar(1),[数量] int)
    insert [TB]
    select '01','A',6 union all
    select '01','B',7 union all
    select '02','A',8 union all
    select '02','B',9select * from [TB]SELECT 
    sum(CASE [编码] WHEN '01' THEN [数量] ELSE 0 END ) '编码01',
    sum(CASE [编码] WHEN '02' THEN [数量] ELSE 0 END ) '编码02'
    FROM TB
    /*编码01        编码02
    ----------- -----------
    13          17(1 行受影响)
    */
      

  2.   

    编码02 <> 17 ???
      

  3.   

    --> 测试数据:[TB]
    if object_id('[TB]') is not null drop table [TB]
    create table [TB]([编码] varchar(2),[仓库] varchar(1),[数量] int) 
    insert [TB] 
    select '01','A',6 union all 
    select '01','B',7 union all 
    select '02','A',8 union all 
    select '02','B',9 ---------
     SELECT 
    sum(CASE [编码] WHEN '01' THEN [数量] ELSE 0 END ) '编码01', 
    sum(CASE [编码] WHEN '02' THEN [数量] ELSE 0 END ) '编码02' 
    FROM TB 
    /*
    编码01 编码02 
    ----------- ----------- 
    13 17 
    (1 行受影响)
     */