Bạn nên triển khai ba bảng:
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
bảng chứa tất cả các lựa chọn mà mỗi khách hàng thực hiện. Để liệt kê các lựa chọn của khách hàng, hãy sử dụng:
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
preference
cột sẽ được sử dụng nếu có mức độ ưu tiên được gán cho các hương vị. Đó là, khách hàng thích Vanilla hơn Blueberry (nếu điều đó quan trọng cần biết).