Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je enregistrer des valeurs à choix multiples dans une table SQL ? Comment devrait être la table?

Vous devez implémenter trois tables :

    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
    )

Les cust_flavors Le tableau contient toutes les sélections effectuées par chaque client. Pour répertorier les sélections d'un client, utilisez :

    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

La preference serait utilisée s'il y a une priorité à attribuer aux saveurs. C'est-à-dire que le client aime la vanille plus que la myrtille (si c'est important à savoir).