Als ik uw vraag correct ontcijfer, kan dit probleem worden uitgelegd aan de hand van het onderstaande vereenvoudigde voorbeeld:
Er zijn de volgende records in tabel users
:
| iduser |
|--------|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
en er zijn de volgende records in tabel phone
alleen voor twee gebruikers:
| user | phone |
|------|-------------|
| 2 | 123-343-444 |
| 5 | 222-444-363 |
en je wilt records invoegen met een "standaard" telefoon, zeg 111-222-333
voor gebruikers die niet in die tabel staan (gebruikers 1, 3 en 4), en uiteindelijk zou de tabel er als volgt uit moeten zien:
| user | phone |
|------|-------------|
| 1 | 111-222-333 |
| 2 | 123-343-444 |
| 3 | 111-222-333 |
| 4 | 111-222-333 |
| 5 | 222-444-363 |
Zo ja, gebruik dan de volgende vraag:
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