sql >> Databáze >  >> RDS >> Mysql

Jak mohu uložit hodnoty s více možnostmi v tabulce SQL? Jak by měl být stůl?

Měli byste implementovat tři tabulky:

    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 tabulka obsahuje všechny volby každého zákazníka. Chcete-li zobrazit výběr zákazníka, použijte:

    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 sloupec by se použil, pokud je příchutím přiřazena priorita. To znamená, že zákazník má rád vanilku více než Blueberry (pokud je to důležité vědět).



  1. Uložená procedura k odstranění duplicitních záznamů v tabulce SQL

  2. Souběžný proces vkládání dat do databáze

  3. Jak vyčistit konzolu obrazovky mysql v systému Windows?

  4. Dva duplicitní indexy se stejnými sloupci