回 帖 发 新 帖 刷新版面

主题:求SQL语句

表A结构                      表B结构
代号  编码  名称            代号  编码  数量
a      1     aa              a     1     10
a      2     bb              a     2     20
a      3     cc              b     1     30
a      4     dd              b     2     40
b      1     ee    
b      2     ff   
b      3     gg 
b      4     hh


求一SQL语句  即求代号为a的数量
代号  编码  名称  数量
a      1     aa    10
a      2     bb    20
a      3     cc    null
a      4     dd    null

回复列表 (共6个回复)

沙发

select a.代号,a.编码,a.名称,b.数量
from a left join b on a.代号=b.代号
where a.代号='a'

板凳

select a.代号,a.编码,a.名称,b.数量
from a left outer join b
on a.代号=b.代号 and a.编码=b.编码  //必须有两个连接条件
where a.代号='a'

3 楼

[quote]select a.代号,a.编码,a.名称,b.数量
from a left outer join b
on a.代号=b.代号 and a.编码=b.编码  //必须有两个连接条件
where a.代号='a'[/quote]

2楼正确

4 楼

再问哪句快些
select a.代号,a.编码,a.名称,b.数量
from a left outer join b
on a.代号=b.代号 and a.编码=b.编码  //必须有两个连接条件
where a.代号='a'

select d.代号,d.编码,d.名称,e.数量 from (select 代号,编码,名称 from a where 代号='a') d left join (select 代号,编码,数量 from b where 代号='a') e on d.代号=e.代号 and d.编码=e.编码

5 楼

我觉得第一句应该更快些。

6 楼

select a.* , b.数量 from a left join b on a.代号 = b.代号 and a.编码 = b.编码 where a.代号 = 'a'

我来回复

您尚未登录,请登录后再回复。点此登录或注册