sql >> Database teknologi >  >> RDS >> Mysql

Indsæt værdier i tabel afhængigt af værdier af en anden tabel mysql

Hvis jeg fjerner dit spørgsmål korrekt, kan dette problem forklares ved hjælp af nedenstående forenklede eksempel:

Der er følgende poster i tabellen users :

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

og der er følgende poster i tabel phone kun for to brugere:

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

og du vil indsætte poster med en "standard" telefon, sig 111-222-333 for brugere, der ikke er i den tabel (bruger 1, 3 og 4), og i sidste ende skulle tabellen se sådan ud:

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

Hvis ja, så brug følgende forespørgsel:

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

Demo:http://sqlfiddle.com/#!9/94158/2




  1. MySQL til MySQL klon med PHP

  2. OPDATERING på INSERT dublet primærnøgle i Oracle?

  3. Indsæt den samme faste værdi i flere rækker

  4. flette opdatering oracle ude af stand til at få et stabilt sæt rækker