select a.*,c.cost
from T_xiaoshoumingxi a inner join T_xiaoshou b on a.xsid=b.sid
left join T_Caigoumingxi c on c.sid = a.cgmxid  and c.pinming = a.pinming and b.leibie ='在库'  

解决方案 »

  1.   

    select a.*,isnull(c.cost,0) as cost
    from T_xiaoshoumingxi a inner join T_xiaoshou b on a.xsid=b.sid
    left join T_Caigoumingxi c on c.sid = a.cgmxid  and c.pinming = a.pinming and b.leibie ='在库'  
      

  2.   

    说明:四表联查问题: 
    select  *  from  a  left  inner  join  b  on  a.a=b.b  right  inner  join  c  on  a.a=c.c  inner  join  d  on  a.a=d.d  where  ..... 
      

  3.   


    select a.sid
    ,a.xid
    ,a.sex
    ,a.cgmxid
    ,pingming = (case when b.leibie = '在库' and a.cgmxid <> 0 then c.pinming else a.pinming end)
    ,zhongliang = (case when b.leibie = '在库' and a.cgmxid <> 0 then c.zhongliang else a.zhongliang end)
    ,成本 = (case when b.leibie = '委托' and a.cgmxid = 0 then 0 else b.cost end)
    from T_xiaoshoumingxi a
    join T_xiaoshou b on a.xsid = b.sid 
    join T_Caigoumingxi c on a.cgmxid = c.sid