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

किसी अन्य तालिका से चयन के साथ MySQL अद्यतन

आप नहीं चाहते fylker UPDATE में बयान। आपको उचित join . का भी उपयोग करना चाहिए . तो पहला पुनर्लेखन है:

UPDATE companies c JOIN
       kommuner k
       ON c.forretningsadresse_kommune = k.kommuneNavn
    SET c.forretningsadresse_fylke = (SELECT f.fylkeNavn 
                                      FROM fylker f
                                      WHERE f.fylkeID = k.fylkeID
                                     );

अगर हम fylker . में एक भी मैच मान लें , तो यह ठीक है। यदि कई मैच हैं, तो आपको एक को चुनना होगा। एक आसान तरीका है:

UPDATE companies c JOIN
       kommuner k
       ON c.forretningsadresse_kommune = k.kommuneNavn
    SET c.forretningsadresse_fylke = (SELECT f.fylkeNavn 
                                      FROM fylker f
                                      WHERE f.fylkeID = k.fylkeID
                                      LIMIT 1
                                     );

नोट:यह उन सभी कंपनियों को अपडेट करेगा जिनके पास "कॉम्यूनर" से मेल खाता है। यदि कोई मेल खाने वाला "fylker" नहीं है, तो मान NULL . पर सेट हो जाएगा . मुझे विश्वास है कि यह आपके प्रश्न का उद्देश्य है।

साथ ही, टेबल उपनाम क्वेरी को लिखने और पढ़ने में आसान बनाते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySqlDataReader GetBytes बफर समस्या ...

  2. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:कनेक्शन बंद होने के बाद किसी भी संचालन की अनुमति नहीं है

  3. आप MySQL में संग्रहीत कार्यविधि को कैसे संपादित करते हैं?

  4. डिलीट + इंसर्ट के बाद कुछ mysql कनेक्शन पुराने डेटा को mysql डेटाबेस का चयन क्यों कर रहे हैं?

  5. MySQL:लगातार महीनों के साथ रिकॉर्ड की संख्या