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