我有两个表,我正在将数据从一个表合并到另一个表中。具体而言,表A是来自医院的数百万条患者出院记录; table_B会告诉某个医院是否被标记为急症室。我想要获取医院是急救医院的A表的所有记录。SQL - 根据匹配的两列将一个表的一部分合并到另一个表中
表A有很多领域;的相关性:
HOSPITAL_ID | YEAR_AND_QUARTER | RECORD_ID
记录ID是唯一的。有几百到上千个HOSTPIAL_ID记录的(RECORD_ID的),以及数百HOSPITAL_IDs每YEAR_AND_QUARTER
表-B有几个领域:
HOSPITAL_ID | YEAR_ALONE | ACUTE_INDICATOR
1223 | 2004 | X
1223 | 2005 | X
1289 | 2004 |
1289 | 2005 | X
随着Hospital_ID和年存在的只有一次在一起。
我无法加入Hospital_ID,因为在表B中,每个医院ID都会出现多次。此外,table_B将所有季度数据汇总为一年(而不是2004年Q1,2004年Q2只有2004年)。
因此最终输出(最好的新表)我想只是ACUTE_INDICATOR加入到表-A
HOSPITAL_ID | YEAR_AND_QUARTER | ACUTE_INDICATOR | RECORD_ID....
Appologies未来,我是一个SQL婴甚至不是很确定什么寻找答案。我最好的猜测是(伪):
INNER JOIN (SELECT B.ACUTE_INDICATOR)
ON A.HOSPITAL_ID = B.HOSPITAL_ID
WHERE LEFT(A.YEAR_AND_QUARTER,4) = B.YEAR_ALONE
非常感谢:)
你试过吗? INNER JOIN B ON A.HOSPITAL_ID = B.HOSPITAL_ID AND LEFT(A.YEAR_AND_QUARTER,4)= B.YEAR_ALONE – Greenisha
是的 - 这给了我比table_A更多的行(我假设有重复)。我太缺乏经验,不知道为什么。 – chris