mysql SQL合并来自不同数据库的同名列以填充NULL值[已关闭]

hiz5n14c  于 2023-03-17  发布在  Mysql
关注(0)|答案(1)|浏览(125)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

2天前关闭。
Improve this question
因此,我编写SQL代码从医院数据库中提取一些数据。在这里,我试图合并急诊室到达/出院时间数据和有关患者地址的人口统计数据。然而,由于一些机构使用不同的数据库来记录他们的信息,我不得不从两个独立的数据库中提取人口统计数据。我试图合并的字段是地址1、地址2、城市、州和邮编。到达/出院数据库包含所有设施的数据,而人口统计数据库a包含设施的一部分,人口统计数据库b包含其余部分。
目前,我已经将ED数据库与数据库A合并,来自数据库B中具有人口统计学数据的机构的患者在所有相关地址列中显示为“空”,我不知道如何合并相关列,然后将其连接到ED数据库,也不知道如何在初始连接后填充空值。
以下是从数据库b中提取的代码。人口统计数据库通过medical_record_number关键字存储地址信息,该关键字对于每个患者都是唯一的,然后需要将其与encounter_number匹配,encounter_number对于每个患者每次就诊都是唯一的。然后,此表中的encounter_number将与account_number匹配,以合并其余数据。

select encounter_number, a.medical_record_number,address1 , address2 , city, state, zip

FROM(SELECT encounter_number, medical_record_number
FROM patient_encounter.epic_patient_encounter
--encounter_number in epic = account_number in other db
)a

LEFT JOIN(
Select medical_record_number, address1 , address2 , city, state, zip
from patient_encounter.epic_patient_demographic
)b
on a.medical_record_number = b.medical_record_number

下面是到目前为止合并艾德数据库和数据库A的代码,如果address 1、address 2、city、state和zip的人口统计值没有存储在数据库A中,则将这些值保留为“NULL”。

select a.account_number, arrive_date, facility_code, location_code, disposition, arrival_time, location_name, address1 , address2 , city, state, zip

from (select account_number, arrive_date, facility_code, location_code, disposition, arrival_time, location_name
from cedw.ed_event_details
where arrive_date >= '2022-07-01')a

LEFT JOIN( 
Select account_number, address1 , address2 , city, state, zip  
from cedw.encounter_patient_demographic
)o
on a.account_number = o.account_number

order by arrive_date

我只是不知道如何将这两个代码块组合起来,以生成一个包含所有艾德和人口统计数据的表。

83qze16e

83qze16e1#

不确定我是否正确理解了您的问题,但我相信UNION可能就是您要查找的内容。请注意,所有UNION部分必须具有相同的列(或列别名)

SELECT a, b, c FROM table1 
UNION 
SELECT a, b, c FROM table2

相关问题