2 gly20031015 gly20031015 于 2013.08.20 19:26 提问

ORACLE-包含外连接的三表查询

select r.msg_id,s.content,r.file_id from msg_rcv r left join msg_send s left join upload_file f

on r.user_id = '210000000004843' and r.msg_id = s.msg_id and r.file_id = f.id

上面的SELECT语句,执行的时候报“ORA-00905:缺失关键字错误”,请问应该如何修改?

msg_rcv表中的一条记录,在rsg_send表中必然有一条与之相对应的记录
msg_send表与upload_file表中没有关联字段

1个回答

u011840222
u011840222   2013.08.29 11:19
已采纳

我做了验证,的确当b和c无关联字段的时候会提示关键字错误,因此我将表a与表b的查询结果作为了一个表ab再与c进行关联,这样即可查出三个表的信息。

select ab.flname,ab.模板id,c.scheduler_name
from (select a.flname, a.obj_id 分类id, b.obj_id as 模板id, b.tjtj
from zbfb_flinfo a
left join zbfb_mbinfo b
on a.mb_obj_id = b.obj_id
where a.mb_obj_id = '41DEC382-13DD-4AD4-809B-0C7D170A8FED-93827') ab
left join zbfb_scheduler c
on ab.分类id = c.mb_obj_id;

gly20031015
gly20031015 我后来也用这个方法做了出来。谢谢
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!