3つのテーブルを実装する必要があります:
CREATE TABLE customer (
customer_id int - Autoincrement,
customer_name varchar(100)
)
CREATE TABLE icecream (
icecream_id int - Autoincrement,
flavor varchar(100)
)
CREATE TABLE cust_flavors (
customer_id int,
icecream_id int,
preference int
)
cust_flavors
表には、各顧客が行うすべての選択が含まれています。顧客の選択を一覧表示するには、次を使用します:
SELECT c.customer_name, i.flavor, cf.preference
FROM customer c LEFT JOIN cust_flavors cf
ON c.customer_id = cf.customer_id
LEFT JOIN icecream i
ON cf.icecream_id = i.icecream_id
WHERE c.customer_id = @customer
ORDER BY cf.preference
設定コード> フレーバーに割り当てられる優先順位がある場合は、列が使用されます。つまり、顧客はブルーベリーよりもバニラを好みます(それを知ることが重要な場合)。