3

2 つの mysql テーブルがあります。

 car_model:
    id (int) (Primary Key)
    title (varchar)
    id_brand (int) FK to car_brand table



 car__car_model: - relation many to many
     id_model (int) 
     id_advice_model (int)

car__car_model には、次のデータがあります。

(id_model)  (id_advice_model)
12          12
12          45
12          67
12          78
13          13
13          12
13          67
13          105

そして、私はこのデータを次のように取得したいと考えています:

12    12,45,67,78
13    13.12.67,105

次のように group_concat と group by を使用します。

SELECT ccm.id_model,group_concat(ccm.id_advice_model) FROM car__car_model as ccm  group by ccm.id_model

質問: ID が 12,45,67,78 の場合、この文字列の car_model テーブルからタイトルを取得するにはどうすればよいですか? そして、1 つのクエリで実行したい - クエリをカスタマイズする

更新: そして今、私は別の質問があります: 私はもう1つのテーブルを持っています:

 car_brand:
    id (int) (PK)
    title (varchar)

私の car_model テーブルにはフィールドid_brandがあります

質問 2: car_model からタイトルを使用して car_brand からタイトルを取得するにはどうすればよいですか - このように - Ford Focus、Fiat Linea など - (あなたの助けを借りて) car_model からタイトルのみを取得できるようになりました。リネア

更新: この問題を解決するには -

SELECT 
id_model,group_concat(concat(cb.title,' ',cm.title))
FROM 
car__car_model as ccm  
inner join car_model cm on (cm.id = ccm.id_advice_model) 
inner join car_brand cb on (cb.id=cm.id_brand)
group by ccm.id_model
4

2 に答える 2