内部結合のSELECTで取得した配列をわかりやすく
商品情報が入ったテーブルが2つあります。
一つは商品のスペックが入ったテーブル → tb_spec
一つは商品の種類と価格が入ったテーブル → tb_variation
tb_spec
----------------
商品ID, 重量
item001, 100
item002, 150
----------------
tb_variation
----------------
色, 商品ID, 価格
赤, item001, 12000
青, item001, 15000
黒, item002, 21000
白, item002, 20000
赤, item002, 23000
----------------
これを一致する商品IDで内部結合でのSELECTで抽出します。
SELECT s.`商品ID`, s.`重量`, v.`色`, v.`価格`
FROM tb_spec AS s
INNER JOIN tb_variation AS v
ON s.`商品ID` = v.`商品ID`
結果は、
Array(
[0] => Array ([商品ID] =>item001 [重量] =>100 [色] =>赤 [価格] =>12000)
[1] => Array ([商品ID] =>item001 [重量] =>100 [色] =>青 [価格] =>15000)
[2] => Array ([商品ID] =>item002 [重量] =>100 [色] =>黒 [価格] =>21000)
[3] => Array ([商品ID] =>item002 [重量] =>100 [色] =>白 [価格] =>20000)
[4] => Array ([商品ID] =>item002 [重量] =>100 [色] =>赤 [価格] =>23000)
)
というように結果が帰ってきます。
これを、
Array(
[0] => Array ([商品ID] =>item001 [重量] =>100 [色] => Array(
[赤] => Array([価格] =>12000)
[青] => Array([価格] =>15000)
)
[1] => Array ([商品ID] =>item002 [重量] =>100 [色] => Array(
[黒] => Array([価格] =>21000)
[白] => Array([価格] =>20000)
[赤] => Array([価格] =>23000)
)
)
というように商品ID毎の配列で取得できるSQL文は書けるのでしょうか?
上記と多少配列の構造が変わっても良いのですが、商品ID毎に取得できればと思っています。
どうぞよろしくお願い致します。
お礼
詳しく教えていただき、誠にありがとうございました。 感謝致しますm(_ _)m