gly20031015
2013-08-20 11:26
采纳率: 33.3%
浏览 6.4k

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条回答 默认 最新

  • _imagine 2013-08-29 03: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;

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题