求助:SQL语句

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:13:20
要从JOB表取出若干字段,比如A1,A2,A3. 在JOB表中数据,如果A2的值=‘Y’,这个字段的值是空的。
这种情况下,要从Address表中,取相应的值,取值条件是JOB.A1=Address.A1 ,取出Address.A3.
JOB
A1 A2 A3
--- --- ---
100 N 123
200 N 456
300 Y ‘ ’

Address
A1 A3
--- ---
300 588

输出结果
A1 A2 A3
--- --- ---
100 N 123
200 N 456
300 Y 588

这样的SQL语句该怎么写呀。
注:不想用Decode函数实现。

谢谢各位大虾了。!!!

select a.A1,A.a2,case when a.A2='Y' then b.A3 else a.A3 end as A3
from JOB a inner join Address b on a.A1 = b.A1;

---
以上,希望对你有所帮助。

select job.a1 as a1,job.a2 as a2,job.a3 as a3
from job left adress on job.a1=adress.a1
union all
select adress.a1 as a1,adress.a2 as a2,adress.a3 as a3
from job left adress on job.a1=adress.a1

select a1,a2,a3 from job where a2='n'
union
select a.a1,a.a2,b.a3 from job a,adress b where a.a2='y';

select a1,a2,a3 from job where a2='n'
union
select a.a1,a.a2,b.a3 from job a,adress b where a.a2='y';