यदि मैं आपके प्रश्न को सही ढंग से हटा दूं, तो इस समस्या को नीचे दिए गए सरलीकृत उदाहरण का उपयोग करके समझाया जा सकता है:
तालिका users
में निम्न रिकॉर्ड हैं :
| iduser |
|--------|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
और तालिका में निम्नलिखित रिकॉर्ड हैं phone
केवल दो उपयोगकर्ताओं के लिए:
| user | phone |
|------|-------------|
| 2 | 123-343-444 |
| 5 | 222-444-363 |
और आप कुछ "डिफ़ॉल्ट" फ़ोन के साथ रिकॉर्ड सम्मिलित करना चाहते हैं, जैसे 111-222-333
उन उपयोगकर्ताओं के लिए जो उस तालिका में नहीं हैं (उपयोगकर्ता 1, 3 और 4), और अंत में तालिका इस तरह दिखनी चाहिए:
| user | phone |
|------|-------------|
| 1 | 111-222-333 |
| 2 | 123-343-444 |
| 3 | 111-222-333 |
| 4 | 111-222-333 |
| 5 | 222-444-363 |
यदि हाँ, तो निम्न क्वेरी का उपयोग करें:
INSERT INTO phone( user, phone )
SELECT iduser, '111-222-333'
FROM user
WHERE iduser NOT IN ( SELECT user FROM phone );
डेमो:http://sqlfiddle.com/#!9/94158/2