表a : code   name  price 
      ------------------
       001    书     12
       002    电脑   4000
       003    笔     10表b:  code   sl
     -------------------
       001    2
       002    2表c :  code  sl
     ------------------
       001    0
       002    0
       003    0小弟想得到的结果是:  code   name   price  sl 
                     -------------------------
                       001    书     12     2
                       002    电脑    4000  2
                       003     笔     10     0急,在sql server 2000里面

解决方案 »

  1.   

    b 中的数据来源于C,是C 中添加的
      

  2.   

    bc表什么意思 只要一个吧
    select a.*, c.* from a
    inner join c
    on a.code = c.code
      

  3.   

    select A.*,isnull(B.s1,C.s1) as s1 
    from tabA A join tabC C on A.code=C.code 
    left join tabB B on C.code=B.code
      

  4.   

    我想要的是如果B中有SL 就显示其的,如果没有,则就显示0
      

  5.   

    怎么会不行?
    select A.*,isnull(B.sl,C.sl) as sl 
    from 表A A join 表C C on A.code=C.code 
    left join 表B B on C.code=B.code
      

  6.   


    case sl when null then sl else 0 end
      

  7.   

    select 表a.*,isnull(表b.s1,0)as sl from 表a left join 表b on 表a.code = 表b.code
      

  8.   

    select code ,name,price ,sum(d.s1) from a, (select  code,sl from b UNION select code,s1 from c) d group by code ,name,price where  a.code=d.code
      

  9.   

    如果是以c表中的code为准,那得改成:
    select d.code ,name,price ,sum(d.s1) from a, (select  code,sl from b UNION select code,s1 from c) d group by d.code ,name,price where  a.code=d.code
      

  10.   

    不好意思,写错:
    select d.code ,name,price ,sum(d.s1) from a, (select  code,sl from b UNION select code,s1 from c) d where  a.code=d.code group by d.code ,name,price