我有兩個表,我正在將數據從一個表合併到另一個表中。具體而言,表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