主题:求SQL语句
yxpke
[专家分:100] 发布于 2008-09-09 19:36:00
表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个回复)
沙发
菜鸭 [专家分:5120] 发布于 2008-09-10 07:40:00
select a.代号,a.编码,a.名称,b.数量
from a left join b on a.代号=b.代号
where a.代号='a'
板凳
happyboy2007 [专家分:3900] 发布于 2008-09-10 15:02:00
select a.代号,a.编码,a.名称,b.数量
from a left outer join b
on a.代号=b.代号 and a.编码=b.编码 //必须有两个连接条件
where a.代号='a'
3 楼
菜鸭 [专家分:5120] 发布于 2008-09-11 07:33:00
[quote]select a.代号,a.编码,a.名称,b.数量
from a left outer join b
on a.代号=b.代号 and a.编码=b.编码 //必须有两个连接条件
where a.代号='a'[/quote]
2楼正确
4 楼
yxpke [专家分:100] 发布于 2008-09-12 09:20:00
再问哪句快些
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 楼
happyboy2007 [专家分:3900] 发布于 2008-09-12 13:34:00
我觉得第一句应该更快些。
6 楼
潇洒老乌龟 [专家分:1050] 发布于 2008-09-18 10:32:00
select a.* , b.数量 from a left join b on a.代号 = b.代号 and a.编码 = b.编码 where a.代号 = 'a'
我来回复