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

Vložte hodnoty do tabulky v závislosti na hodnotách jiné tabulky mysql

Pokud jsem správně odstranil vaši otázku, lze tento problém vysvětlit pomocí níže uvedeného zjednodušeného příkladu:

V tabulce users jsou následující záznamy :

| iduser |
|--------|
|      1 |
|      2 |
|      3 |
|      4 |
|      5 | 

a v tabulce phone jsou následující záznamy pouze pro dva uživatele:

| user |       phone |
|------|-------------|
|    2 | 123-343-444 |
|    5 | 222-444-363 |

a chcete vložit záznamy pomocí nějakého "výchozího" telefonu, řekněme 111-222-333 pro uživatele, kteří nejsou v této tabulce (uživatelé 1, 3 a 4), a nakonec by tabulka měla vypadat takto:

| user |       phone |
|------|-------------|
|    1 | 111-222-333 |
|    2 | 123-343-444 |
|    3 | 111-222-333 |
|    4 | 111-222-333 |
|    5 | 222-444-363 |

Pokud ano, použijte následující dotaz:

INSERT INTO phone( user, phone )
SELECT iduser, '111-222-333'
FROM user
WHERE iduser NOT IN ( SELECT user FROM phone );

Ukázka:http://sqlfiddle.com/#!9/94158/2




  1. Nápověda k dotazu SQL - mají dvě podmínky kde v podmínce spojení

  2. jak zvýšit hodnotu proměnné o 1 pro každý záznam pomocí php mysql LOAD DATA INFILE

  3. Agregovat bitové NEBO v poddotazu

  4. Řízení bezpečnosti dat