2017-01-04 31 views
1

我有一個表,其中4列包含來自表示一對的第二個表的ID值(IDTERM)。例如:ODBC Excel驅動SQL將多個外部ID映射到同一個表

表1:

KEYID | ID1 | ID2 | ID3 | ID4 

表2:

ID | TERM 

有什麼辦法來創建一個SQL查詢,提供例如表所示:

KEYID | TERM_ID1 | TERM_ID2 | TERM_ID3 | TERM_ID4 

哪裏TERM_ID1TERM_ID2,TERM_ID3TERM_ID4Table2中的TERM列的相應值?

回答

1

你可以這麼簡單。它joinstable2每個對應的值一次,並在最後的select中使用Term;

SELECT 
    t1.KeyID 
    ,t2.Term Term_ID1 
    ,t3.Term Term_ID2 
    ,t4.Term Term_ID3 
    ,t5.Term Term_ID4 
FROM Table1 t1 
JOIN Table2 t2 ON t1.ID1 = t2.ID 
JOIN Table2 t3 ON t1.ID2 = t3.ID 
JOIN Table2 t4 ON t1.ID3 = t4.ID 
JOIN Table2 t5 ON t1.ID4 = t5.ID 
+0

謝謝!它原則上工作。我必須修改語法爲: 'SELECT T1.KEYID,T2.TERM AS TERM_ID1,T3.TERM AS TERM_ID2,T4.TERM AS TERM_ID3,T5.TERM AS TERM_ID4 FROM(((TABLE1 AS T1 INNER JOIN TABLE2 AS T2 ON T1.ID1 = T2.ID) INNER JOIN TABLE2 AS T3 ON T1.ID2 = T3.ID) INNER JOIN TABLE2 AS T4 ON T1.ID3 = T4.ID) INNER JOIN TABLE2 AS T5 ON T1 .ID4 = T5.ID' – user2641103

+0

@ user2641103無論它爲你工作。我看不出括號是必要的,但如果解決了問題,那就去做吧。 –

+0

我正在使用MS Access SQL編輯器進行測試,並且沒有給出語法錯誤消息的括號。它可能是一個驅動程序風味問題。 – user2641103

相關問題