Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

किसी अन्य तालिका के मानों के आधार पर तालिका में मान डालें mysql

यदि मैं आपके प्रश्न को सही ढंग से हटा दूं, तो इस समस्या को नीचे दिए गए सरलीकृत उदाहरण का उपयोग करके समझाया जा सकता है:

तालिका 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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 आसन्न क्षेत्रों के बीच अंतर - दिनांक - PHP MYSQL

  2. क्लिक करने योग्य HTML तालिका पंक्तियाँ जो एक PHP पॉपअप विंडो पर पोस्ट करती हैं

  3. कोडनिर्देशक और MySQL में दो तिथियों की तुलना करें

  4. MySQL में संयुक्त पदों की रैंकिंग

  5. क्वेरी अनुकूलन -- बहुत अधिक समय लेता है और सर्वर को रोक देता है