跪求大神帮帮忙,想了很久,不知道怎么去完成。
有三张表,A、E、F,比如:表A 表E 表F
EMPLID ACID ACID ACID_PAR EMPLID ACID DECR
01 08 08 01 08 AA
02 09 09 02 10 AA
10 09
03 11 11 其中表E如果表A有对应的ACID_PAR,就用对应的ACID来找表F;比如表A中的EMPLID 03,在表F中没有对应的,但是结果中也应该显示“”最后应该选出结果:
EMPLID ACID DECR
01 08 AA
02 10 AA
03 11 请问应该怎么去写呢,研究了很久了,写的要run很久,也不出结果
有三张表,A、E、F,比如:表A 表E 表F
EMPLID ACID ACID ACID_PAR EMPLID ACID DECR
01 08 08 01 08 AA
02 09 09 02 10 AA
10 09
03 11 11 其中表E如果表A有对应的ACID_PAR,就用对应的ACID来找表F;比如表A中的EMPLID 03,在表F中没有对应的,但是结果中也应该显示“”最后应该选出结果:
EMPLID ACID DECR
01 08 AA
02 10 AA
03 11 请问应该怎么去写呢,研究了很久了,写的要run很久,也不出结果
解决方案 »
- 求一个解决方案。
- ORACLE10G 连接 sybase iq 出错,请帮助解决!
- 求助,这条SQL怎么写?
- 请教个oracle索引问题
- 怎么把A表中一个字段里的值“40,50,60.5,”都split,然后作为多条记录再插到B表中
- SQL语句提问:(部门代码,部门名称,上级代码)中涉及的人员管辖单位问题
- ERROR:ORA-12514: TNS:listener does not currently know of service requested in connect
- 如何估计一个表占用多少block?
- 三大ORACLE出错信息!请各位高手帮忙!ora-01034!ora-27101!ORA-03113!
- plsql把数据导入excel遇到困难
- 如何提高查询速度
- 关于oracle存储过程发邮件的问题请教
-- 这个意思 ?select * from A
left join E on A.acid = E.acid
left join F on A.empid = F.empid;
from a, e, f
where a.acid = e.acid(+)
and a.emplid = f.emplid(+)
order by a.emplid
select F.EMPLID emplid, F.ACID acid, F.DECR decr
from A, E, F
WHERE A.ACID = E.ACID
and E.ACID_PAR is not NULL
and E.ACID = F.ACID
union
select A.EMPLID emplid, A.ACID acid, null decr
from A
where not exists (select 1 from F where A.EMPLID = F.EMPLID)