Mysql 使用左联接将数据从一个数据库迁移到另一个数据库
让我先说我对MySQL比较陌生。我正在尝试将数据从一个数据库迁移到另一个数据库。让我们分别调用一个数据库DB1和另一个DB2 DB2有以下表格 患者:Mysql 使用左联接将数据从一个数据库迁移到另一个数据库,mysql,Mysql,让我先说我对MySQL比较陌生。我正在尝试将数据从一个数据库迁移到另一个数据库。让我们分别调用一个数据库DB1和另一个DB2 DB2有以下表格 患者:身份证、个人身份证和启动身份证 养生法:id,code 就诊:id、患者id、方案id、下次预约日期 DB1包含以下表格: 患者:身份证、病历号、当前用药方案、下一次开始用药方案 现在: 方案id数据应插入当前方案 start\u-schedule\u-id数据应插入到start\u-schedule 下一次约会日期应插入下一次约会 这就是我现在拥
身份证、个人身份证和启动身份证
养生法:id,code
就诊:id、患者id、方案id、下次预约日期
DB1包含以下表格:
患者:身份证、病历号、当前用药方案、下一次开始用药方案
现在:
方案id数据应插入当前方案
start\u-schedule\u-id数据应插入到start\u-schedule
下一次约会日期应插入下一次约会
这就是我现在拥有的:
SELECT
p.person_id AS medical_record_number,
r.code AS start_regimen,
??? AS current_regimen,
DATE_FORMAT(v.next_appointment_date, '%Y-%m-%d') AS
nextappointment,
FROM patient p
LEFT JOIN regimen r ON r.id = p.start_regimen_id
LEFT JOIN (
SELECT patient_id, MAX(next_appointment_date) as next_appointment_date
FROM visit
WHERE next_appointment_date IS NOT NULL
GROUP BY patient_id
) v ON v.patient_id = p.id
我一直在将DB2上的方案id(visit)迁移到DB1上的当前方案(患者)。我不知道如何使用两个左联接从两个表中为一个表获取数据
任何帮助都将不胜感激,因为我真的被卡住了。似乎我们希望通过访问
表中的将方案id
包括在组中,然后将其与方案表中的方案id
匹配。考虑到外部连接,似乎患者
可能没有任何相关的方案
,因此我将包括方案id
的NULL
值的匹配
LEFT
JOIN ( SELECT vv.patient_id
, vv.regimen_id
, MAX(vv.next_appointment_date) AS next_appointment_date
FROM visit vv
WHERE vv.next_appointment_date IS NOT NULL
GROUP
BY vv.patient_id
, vv.regimen_id
) v
ON v.patient_id = p.id
AND v.regimen_id <=> r.id
谢谢现在这是有道理的。但是,这部分呢r、 代码为start\u方案???作为当前的_方案`既然我已经在方案中提到了开始方案的“代码”栏,那么当前的_方案呢?我还会使用r代码吗?方案id类似于1,方案代码类似于AF1A
foo <=> bar
( foo = bar OR ( foo IS NULL AND bar IS NULL ) )