2017-03-22 4 views
0

ヘルプ見上げる同じ列を作成する/別のテーブルから多くの値に1を参加: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

(あなたの完全なSQLを与えて申し訳ありませんが、私は退屈していた)可能性のある重複した[MS Accessのクエリ:クエリを通じて行を連結](http://stackoverflow.com/questions/5517233/ms-access-クエリ連鎖 - 行間クエリ) – GurV

答えて

0

単純な解決策です。

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、すばらしいクエリ - 私が探しているもの! 2番目のネストされたiifステートメントでは、Language1だけが存在する場合、カンマが隠されます。 iif(A.Language1_IDはnull、 ""、iif(A.Language2_IDはnull、 ""、 "、")) お世話になりました。 – Vienna

関連する問題