GROUP_CONCATについて
例えば以下のテーブルがあったとします。
[makerTbl]
| makerKey | maker |
| 1 | トヨタ |
| 2 | 日産 |
| 3 | マツダ |
| 4 | 本田 |
[carsTbl]
| carKey | carName |
| 1 | アルファード |
| 2 | ヴェルファイア |
| 3 | ヴォクシー |
| 4 | エスティマ |
| 5 | フェアレディZ |
| 6 | スカイライン |
| 7 | デミオ |
| 8 | NSX |
[carsMakerTbl]
| key | makerKey | carKey |
| 1 | 2 | 6 |
| 2 | 4 | 8 |
| 3 | 1 | 2 |
| 4 | 1 | 1 |
| 5 | 3 | 7 |
| 6 | 1 | 4 |
| 7 | 2 | 5 |
| 8 | 1 | 3 |
上記のような自動車メーカー(makerTbl)とラインナップ(carsTbl)、それを関連付けるテーブル(carsMakerTbl)が
あったとします。
ここからトヨタのみのデータを以下の形式で欲しい場合
| makerKey | maker | cars |
| 1 | トヨタ | アルファード,ヴェルファイア,ヴォクシー,エスティマ |
select `makerTbl`.*, GROUP_CONCAT( `carsTbl`.`carName` ) as cars
from `makerTbl`
inner join `carsMakerTbl` on `makerTbl`.`makerKey`=`carsMakerTbl`.`makerKey`
inner join `carsTbl` on `carsMakerTbl`.`carKey`=`carsTbl`.`carKey`
where `makerTbl`.`makerKey`=1
group by `makerTbl`.`makerKey`
こんな感じで取得できる思いますが、
上記はメーカーのキーがわかっている場合です。
しかしこの構成で、carKeyのみがわかっていた場合
つまり、where `carKey`.`key`=1
に変更した場合は当然うまくいきません。
所持している情報がcarKeyのみの場合にも同じような形式で取得できる方法はないでしょうか?
長々と申し訳ありません。
どうしてもいきずまってしましまして、断念してしましました。宜しくお願いいたします。
お礼
ありがとうございます。