2012-02-28 16 views
1

これについてのタイトルが本当に必要なものを実際に説明しているかどうかは分かりませんので、残念です。sqlの1つの変数にデータをグループ化する

基本的に、私は2つのテーブル(製品と在庫)を持っています。

ID:

製品で

、私は2つの製品を持っている1 ||名前:トップ
ID:2 ||名前:

ID:

在庫ボトム、私は5本の株式線を有する1 || ProductID:1 ||サイズ:中程度
ID:2 || ProductID:1 ||サイズ:大
ID:3 || ProductID:2 ||サイズ:中程度
ID:4 || ProductID:3 ||サイズ:7
ID:5 || ProductID:3 ||サイズ:

SELECT p.ID, p.Name, s.Size FROM products p JOIN stock s ON s.ProductID = p.ID

これは、その後出て、以下を引っ張っている:8

私が行うために必要なものは、したがって、現時点では私のコードは、株式とすべての製品を引き出すあります

ID:1 ||名前:トップ||サイズ:中程度
ID:1 ||名前:トップ||サイズ:大
ID:2 ||名前:ボトム||サイズ:中程度
ID:3 ||名前:靴||サイズ:7
ID:3 ||名前:靴||サイズ: - :

ID:1 || 8

は、私は、これはIDごとに1列(カンマ区切り)にサイズを入れているとやりたいので、私はそれが見えるようにしたいです名前:トップ||サイズ:中型、大型
ID:2 ||名前:ボトム||サイズ:中程度
ID:3 ||名前:靴||サイズ:7,8 8

どのように私はこれを行うことができますか?私はそれをする方法を知っている必要がありますが、私の心は空白になったばかりです!

+1

どのデータベースサーバーを使用していますか? – Vikram

+0

それはmysqlですが、以下の答えがうまくいきます! –

答えて

1
SELECT p.ID, p.Name, GROUP_CONCAT(s.Size) AS Size 
FROM products p 
JOIN stock s ON s.ProductID = p.ID 
GROUP BY p.ID 

+0

素晴らしい!それに感謝、素晴らしい作品:) –