2011-11-10 12 views
3

MySQLクエリで問題が発生しています。
次の出力を表示するにはMySQLクエリが必要です。また、CSVまたはExcelまたはPDFレポートを取得する必要があります。カンマ区切りの値を持つmysql

表1:

 
id | nos 
------------- 
1 12,13,14 
2 14 
3 14,12 

表2:

 
id | values 
------------ 
12 raja 
13 rames 
14 ravi 

私はこのような出力たい:SQLで

 
id | values 
--------------------- 
1 raja, rames, ravi 
2 ravi 
3 ravi, raja 
+1

同じ問題がありますか? –

+0

質問がクリアされない –

+1

スキーマを、埋め込みCSVの代わりに関連テーブルなどのSQL-ishに変更できますか? –

答えて

4

が、それは、カラム内の単一の値を保存するために、より良いではありませんカンマで区切られた値のリスト。

SELECT Table1.id, GROUP_CONCAT(Table2.values) AS values 
FROM Table1 
JOIN Table2 ON FIND_IN_SET(Table2.id, Table1.nos) 
GROUP BY Table1.id; 

FIND_IN_SET()関数を参照してください:あなたはこのクエリを試すことができますが、それはひどく遅いと非効率的になりますIs storing a comma separated list in a database column really that bad?

に私の答えを参照してください。

+0

あなたの貴重な答えのためにBill Karwinに感謝しています。これから私はmysqlで作業するアイデアを得ました... – raja

+0

こんにちはビル・カルウィンですが、出力は順番に変わるようです。値 --------------------- 1 ravi、rames、raja 2 ravi 3 ravi、raja – raja

+0

[GROUP_CONCAT()]のドキュメントを参照してください( http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_group-concat)。ソート順を指定できます。 –

関連する問題