zomiaa 2022-01-04 14:38 采纳率: 100%
浏览 552
已结题

sql语句多表连接查询,根据其中两个字段相同的去重

表 【TOP_USER】、表【TOP_EMPLOYEE】、表【TOP_ORGANIZATION】三表关联
【TOP_USER】这是人员ID和组织ID的对应关系表
id EMPLOYEE_ID ORG_ID remark
1 2123 77 ABCDEF
2 2123 82 ABCFF
3 2125 84 ABCEE
4 2129 99 ABCGG
……
【TOP_EMPLOYEE】这是人员ID和人员账号的对应关系表
id EMPLOYEE_ID EMPLOYEE_ACCOUNT remark
1 2123 zhangsan@123.csg.cn 张三
2 2125 zhangliu@123.csg.cn 张六
3 2129 zhangjiu@123.csg.cn 张九
……
【TOP_ORGANIZATION】这是组织ID和组织名称的对应关系表
id ORG_CODE ORG_ID ORG_NAME
1 06031315 77 组织企划
2 06031316 82 销售部门
3 06031317 84 后勤管理
4 06031318 99 管理部门
……

其中表 【TOP_USER】存在 EMPLOYEE_ID(人员ID字段)对应了多个ORG_ID(组织ID)
例如:2123这个人员ID对应了77和82两个组织ID
做三表关联,希望达到只显示一行2123这个人员ID的数据,根据EMPLOYEE_ID字段去重
一个人员ID对应多个组织ID的时候,只显示一条数据,根据人员ID去重。其他字段数据不重要
这是我写的sql,查出来会有EMPLOYEE_ID重复的数据,如何才能改成EMPLOYEE_ID无重复。

SELECT DISTINCT
TOP_USER.EMPLOYEE_ID,
TOP_EMPLOYEE.EMPLOYEE_ACCOUNT,
TOP_USER.ORG_ID,
TOP_ORGANIZATION.ORG_NAME
FROM
TOP_USER
LEFT JOIN TOP_EMPLOYEE ON TOP_USER.EMPLOYEE_ID = TOP_EMPLOYEE.EMPLOYEE_ID
LEFT JOIN TOP_ORGANIZATION ON TOP_USER.ORG_ID = TOP_ORGANIZATION.ORG_ID

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 1月12日
      • 已采纳回答 1月4日
      • 创建了问题 1月4日

      悬赏问题

      • ¥15 刚入职被要求写这种文档,应该如何下手
      • ¥15 最优经济尺寸设计问题
      • ¥15 从多元正态分布中生成3维样本
      • ¥15 GEO下载数据的处理报错 :函数‘Meta’标签‘"data.frame"’找不到继承方法,如何解决?
      • ¥15 android object box 一个实体多个表怎么写
      • ¥15 temux 启用docker 服务失败
      • ¥15 Flask 使用celery发送邮件出现‘目标计算机积极拒绝‘
      • ¥15 超时跳出方法代码的返回值问题
      • ¥15 汇编语言程序设计设计,ascii码求数,再求数的BCD码
      • ¥30 Mask rcnn训练自己的数据集出现问题!