Se risolvo correttamente la tua domanda, questo problema può essere spiegato utilizzando l'esempio semplificato di seguito:
Ci sono i seguenti record nella tabella users
:
| iduser |
|--------|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
e ci sono i seguenti record nella tabella phone
solo per due utenti:
| user | phone |
|------|-------------|
| 2 | 123-343-444 |
| 5 | 222-444-363 |
e vuoi inserire record con un telefono "predefinito", dì 111-222-333
per gli utenti che non sono in quella tabella (utenti 1, 3 e 4), e alla fine la tabella dovrebbe apparire così:
| user | phone |
|------|-------------|
| 1 | 111-222-333 |
| 2 | 123-343-444 |
| 3 | 111-222-333 |
| 4 | 111-222-333 |
| 5 | 222-444-363 |
Se sì, utilizza la seguente query:
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