2017-08-29 23 views
-1

私はMySQLの問題があり、そしておそらくタイトルは少し紛らわしいですが、ここに行くと列を生成するために2つのテーブルを結合:MySQLは、カンマ区切り

私は今、二つのテーブル

TABLE A   TABLE B 
+-----+--------+ +-----+--------+ 
| id | NumCol | | id | NumCol | 
+-----+--------+ +-----+--------+ 
| 101 | 123 | | 101 |  | 
| 101 | 124 | +-----+--------+ 
+-----+--------+ 

を持っている私は、 「IDにこれら二つを参加したいので、私はこの

+-----+--------+ 
| id | NumCol | 
+-----+--------+ 
| 101 | 123,124| 
+-----+--------+ 

のような出力がこれを行うための便利な方法のいずれかを知ってもらうdは?

+2

をなぜ 'tableB'が必要です?? –

+0

なぜテーブルBが必要なのですか?すべてのデータはテーブルAから来ているようです。 – Mureinik

+0

テーブルBにはいくつかの異なるカラムがあります。私は書かなかったので、事を複雑にしません。テーブルAを変更して結果を得ることもできますか? ! – 12344343243

答えて

1

SELECT tb.id,GROUP_CONCAT(ta.NumCol) AS NumCol FROM tableB AS tb 
JOIN tableA AS ta ON ta.id=tb.id 
GROUP BY tb.id 
+0

ありがとう、私はこれを得た – 12344343243

+0

私も助けのためにlalabhaiに感謝 –

3

この文字列で検索してくださいは、あなたがしようとしました:

SELECT tableA.id, GROUP_CONCAT(tableA.NumCol) as NumCol 
FROM tableA, tableB 
WHERE tableA.id = tableB.id 
GROUP BY tableA.id 
+0

あなたは近代的なexplizitの結合を提案しています構文と古いバージョンではありません – Jens

+0

はいこれは正しいです@ジェンス私はOPのすべてを読むことができるようにしたいです –

+0

モデレート結合構文が古いスタイルとして読みやすいと思う – Jens

関連する問題