A 表
Corp_code    cig_code
1001 001
1001 002
1001 003
1002 010
1002          011
B  表
Base_code     code_name
1001       一公司
1002       二公司
001             红色一
002             红色二
003            红色三
010            红色一
011            红色三显示成:           一公司      二公司
           红色一      红色一
           红色二
           红色三      红色三
请问要怎么写啊

解决方案 »

  1.   

    select 
    [一公司]=case when a.Corp_code='1001' then B.code_name end,  
    [二公司]=case when a.Corp_code='1001' then B.code_name end
    from A表 left join B表 B on A.Corp_code=B.Base_code
    left join B表 C on A.cig_code=C.Base_code
      

  2.   

    修正一下:
    select 
    [一公司]=case when a.Corp_code='1001' then B.code_name end,  
    [二公司]=case when a.Corp_code='1002' then B.code_name end
    from A表 left join B表 B on A.Corp_code=B.Base_code
    left join B表 C on A.cig_code=C.Base_code
      

  3.   

    晕,没有经过测试,再修正一下:
    select 
    [一公司]=case when a.Corp_code='1001' then C.code_name end,  
    [二公司]=case when a.Corp_code='1002' then C.code_name end
    from A表 left join B表 B on A.Corp_code=B.Base_code
    left join B表 C on A.cig_code=C.Base_code