sql >> Database >  >> RDS >> Mysql

Hoe kan ik meerkeuzewaarden opslaan in een SQL-tabel? Hoe moet de tafel zijn?

U moet drie tabellen implementeren:

    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
    )

De cust_flavors tabel bevat alle selecties die elke klant maakt. Gebruik om de selecties van een klant op te sommen:

    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

De preference kolom zou worden gebruikt als er een prioriteit moet worden toegekend aan de smaken. Dat wil zeggen, de klant houdt meer van Vanille dan van Blueberry (als dat belangrijk is om te weten).



  1. Het SNAPSHOT-isolatieniveau

  2. UPDATE-instructiefout - MySQLdb/Python

  3. Door komma's gescheiden zoekopdracht voor meerdere parameters in PLSQL

  4. Voeg een tekstbestand in Oracle in met Bulk Insert