Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstaw wartości w tabeli w zależności od wartości innej tabeli mysql

Jeśli poprawnie rozwiążę twoje pytanie, problem ten można wyjaśnić za pomocą poniższego uproszczonego przykładu:

W tabeli users znajdują się następujące rekordy :

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

i są następujące rekordy w tabeli phone tylko dla dwóch użytkowników:

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

i chcesz wstawić rekordy za pomocą jakiegoś "domyślnego" telefonu, powiedz 111-222-333 dla użytkowników, których nie ma w tej tabeli (użytkownicy 1, 3 i 4), a na końcu tabela powinna wyglądać tak:

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

Jeśli tak, użyj następującego zapytania:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Harmonogram zdarzeń powinien być wykonywany co miesiąc

  2. próbuję zaktualizować bazę danych mysql w php

  3. Jak działa zawieszenie transakcji na wiosnę?

  4. Co jest bardziej wydajne w przypadku wysyłania aktualizacji WebSocket ze zmianą bazy danych MySQL?

  5. uwięzienie ostrzeżenia MySQL