2017-03-22 55 views
0

幫助需要 - 沒有能夠制定出一個簡單的查詢來執行以下任務:SQL查詢 - 加入一對多值從另一個表/創建同一列兩次/查找值當前表

Table 1 - Weblink 

ID Weblink  Language1_ID Language2_ID 
-- ---------- ------------ ------------ 
1 google.com 1    2 
2 amazon.cn (Null)   3 
3 yahoo.pl 5    1 
4 webex.jp 4    (Null) 

Table 2 - Language 

ID Language 
-- ----------- 
1 English 
2 French 
3 Chinese 
4 Japanese 
5 Polish 

最終的結果,我想看到:

ID Weblink  Language 
-- ---------- --------------- 
1 google.com English, French 
2 amazon.cn Chinese 
3 yahoo.pl Polish, English 
4 webex.jp Japanese 

我想填充所有語言到表中,如果可能的話用逗號合併多個值。

+0

的可能的複製[MS Access查詢:通過查詢串聯行(http://stackoverflow.com/questions/5517233/ms-access- query-concatenating-rows-through-a-query) – GurV

回答

0

簡單的解決方案。 (對不起,給你完整的SQL,但我很無聊)

SELECT A.ID, A.weblink, 
    (SELECT language FROM Table2 WHERE ID = A.Language1_ID) & _ 
    iif(A.Language1_ID is null, "", ", ") & _ 
    (SELECT language FROM Table2 WHERE ID = A.Language2_ID) AS Expr1 
FROM Table1 AS A; 
+0

非常感謝geeFlo,很棒的查詢 - 正是我要找的!如果只存在語言1,則使用第二個嵌套iif語句隱藏逗號。 (A.Language1_ID爲空,「」,iif(A.Language2_ID爲空,「」,「,」)) 謝謝你的時間:-) – Vienna

相關問題