Sie sollten drei Tabellen implementieren:
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
)
Die cust_flavors
Tabelle enthält alle Auswahlen, die jeder Kunde vornimmt. Um die Auswahl eines Kunden aufzulisten, verwenden Sie:
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
Die preference
Spalte würde verwendet, wenn es eine Priorität gibt, die den Geschmacksrichtungen zugewiesen werden soll. Das heißt, der Kunde mag Vanille mehr als Blaubeere (falls das wichtig zu wissen ist).