从两个不同的表中选择数据时获取重复值同时覆盖不同的记录

www20

我目前正在努力解决这个问题。我被要求弄清楚哪个医生没有治疗过 #3249 号病人。我已经想出了如何达到可以只为没有治疗患者的医生拉取医生 ID 的地步。我的问题是,当我尝试从不同的表中提取医生的姓名时,不仅医师_id 重复,而且医生的姓名也被其他医生的姓名替换。

这是我创建和链接表的方式:

CREATE TABLE pt_treatment (     patient_no NUMBER(4),   physician_id NUMBER(4),     item_code NUMBER(3),    num_times_serviced NUMBER(3), 
CONSTRAINT pt_treatment_pk PRIMARY KEY (patient_no, physician_id, item_code),
CONSTRAINT pt_treatement_patient_no_fk FOREIGN KEY (patient_no) REFERENCES patient (patient_no),
CONSTRAINT pt_treatment_physician_id_fk FOREIGN KEY (physician_id) REFERENCES doctor (physician_id),
CONSTRAINT pt_treatment_item_code_fk FOREIGN KEY (item_code) REFERENCES item (item_code));

和医生桌

CREATE TABLE doctor (
    physician_id NUMBER(4),
    doctor_name VARCHAR2(30),
    doctor_phone VARCHAR2(12),
CONSTRAINT doctor_physician_id_PK PRIMARY KEY (physician_id))

;

这是我选择数据的声明:

SELECT distinct pt.physician_id, d.doctor_name
    FROM pt_treatment pt, doctor d
    WHERE pt.physician_id NOT IN (select physician_id FROM pt_treatment WHERE patient_no = 3249);

这显示了我在 mySQL 中的输出:在此处输入图像描述第一部分显示了我的医生表以及两个医生如何排列不同的 ID 第二部分显示了 pt_treatment 表输出;请注意,与患者编号 3249 对齐的唯一医师_id 是 4321。最后,最后一位显示了我的输出以及医师_id 如何用两个医生的名字打印两次。

提前致谢!

古里

这个怎么样?

SELECT distinct d.physician_id, d.doctor_name, pt.patient_no
FROM doctor d
LEFT JOIN pt_treatment pt ON d.physician_id = pt.physician_id and pt.patient_no=3249
WHERE pt.patient_no IS NULL
/*THE doctors who have not treated patient 3249 will have patient_id null*/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从两个不同的数据库表(两个服务器)中选择的SQL语句

MySQL在两个表之间获取不同的记录

Linq,基于2个不同的ID从一个表中选择两个记录

如何从两个不同的表中获取数据(无重复记录)?两个表都有共同的价值

我正在尝试在一个查询中从两个不同的表中选择数据

如何仅从表中选择字段1的值与字段2的至少两个不同值配对的行

MYSQL从历史记录表中获取两个不同日期的产品记录,如果发现重复则仅获取最新数据

如何从不同条件的表中选择两个不同的值?

从两个具有相同值的表中选择数据后,结果重复

从两个大表的联接中选择不同的值

SQL-如何从两个不同的表中选择数据?

ggplot如何从两个不同的列中选择值?

从两个不同的函数获取数据框并写入两个不同的Excel工作表

SQL从两个不同的表中选择相同的列

从python中的两个不同数据集中选择值

从两个不同的数组中选择最接近的值

如何从两个表中选择不同的值限制为一行

SQL从两个值不同的表中选择行,包括空值

SQL查询从两个表中获取不同的记录

如何仅使用一个查询从另一个表中选择两个不同的值?

Oracle sql - 从两个不同的表中选择两个总和之间的差异?

如何在同一个表的两个不同列中选择匹配的记录?

如何从两个不同的表中获取记录

在 MySQL 中,如何从两个不同的表中选择 *?

如何从选择中获取两个不同的值?

SQL 从两个表中选择不同的记录

从两个表中选择数据时SQL的问题

从两个不同的表中选择值-sql

如何根据两个参数从两个表中选择不同的数据?