jjw19850101
刘小白的数据库维护之路
采纳率100%
2020-05-22 18:24

关于ORACLE 数据库多表联查的问题,求助

已采纳

多表联查,表名A,字段有JBR 经办人 GLBM 管理部门。
表名B字段有XM 姓名,RYBH 人员编号,BMDM 部门代码
要求是在查询A表JBR,经办人的时候能够同时显示出B表 XM和RYBH(因为B表是人员信息表,A表中没有人员编号,没有办法具体到个人,所以要A和B表关联,),我查询的时候发现在B表中姓名有重复的,譬如:“张三”在B表中有两个叫:“张三”的,但是取得值是用B表中第一个“张三”和A表中的“张三”不属于一个部门,我现在怎么把不相同的去掉?图片说明

语句如下:SELECT DISTINCT
A.JBR, A.GLBM,B.XM,B.JYBH,B.BMDM
FROM A LEFT OUTER JOIN B ON A.JBR=B.XM
WHERE CCLRSJ >=TO_DATE('2020-04-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
AND CCLRSJ <=TO_DATE('2020-04-30 23:59:59','YYYY-MM-DD HH24:MI:SS')

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dacong 大聪 11月前

    SELECT
    A.JBR, A.GLBM,B.XM,B.JYBH,B.BMDM
    FROM A , B

    WHERE A.JBR=B.XM(+) and a.GLBM =b.bmdm(+)
    and CCLRSJ >=TO_DATE('2020-04-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
    AND CCLRSJ <=TO_DATE('2020-04-30 23:59:59','YYYY-MM-DD HH24:MI:SS')

    点赞 1 评论 复制链接分享