私のデータベースにはいくつかのルックアップ テーブルが含まれています (UI フォームのプルダウン メニューとして表示されます)。
例えば、
customer_data - 顧客の人口統計情報。
lookup_car - 車の説明を保存します (ピント、ベガ、リライアント ロビン、ムスタング、コルベット)
junction_car_customer - 1 台以上の車で顧客を結合します
顧客 Jeremy Clarkson (cust_id: 1) は 3 台の車を所有しています。彼のレコードのドロップダウンには、次のように表示されます。
Pinto (car_id=100)
Reliant Robin (car_id=101)
Vega (car_id=102)
junction_car_customer データは次のようになります。
cust_id car_id
1 100
1 101
1 102
顧客名と所有モデルを示す行を返そうとしています (セミコロンで区切られた文字列として)。
これが私のクエリです:
SELECT
cd.cust_id,
cd.name_first,
cd.name_last,
jcc.car_id,
lc.car_desc
FROM
((customer_data AS cd)
LEFT JOIN ju_cust_car AS jcc ON jcc.cust_id = cd.cust_id)
LEFT JOIN lookup_cars AS lc ON lc.car_id = jcc.car_id
ORDER BY
cd.name_last
これは以下を返します:
cust_id name_first name_last car_id car_desc
1 Jeremy Clarkson 100 Pinto
1 Jeremy Clarkson 101 Reliant Robin
1 Jeremy Clarkson 102 Vega
私が欲しいのは:
cust_id name_first name_last car_desc
1 Jeremy Clarkson Pinto;Reliant Robin;Vega
上記の結果を返す効率的な方法はありますか?