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

MySQL अद्यतन पंक्तियाँ डबल लेफ्ट जॉइन के साथ, पहले मैच को सीमित करती हैं

आपने अपने sqlfiddle के साथ-साथ चयन क्वेरी के साथ समस्या को हल करने के अपने प्रयास के साथ कार्य को काफी आसान बना दिया।

यह उस तरह से काम करता है जैसा आप चाहते हैं मुझे लगता है और मुझे बस इतना करना है कि श्रेणी तालिका के साथ एक और बाएं शामिल हों (आईडीके आप श्रेणी में शामिल होने में असमर्थ क्यों थे क्योंकि यह ठीक से काम कर रहा है)।

इसलिए। मैंने आपकी चुनी हुई क्वेरी को इस प्रकार संपादित किया है:

select Products.name, Filters.*,Categories.id from Products
left join Filters
on Products.name LIKE CONCAT('%',Filters.filter,'%')
left join Categories
on Categories.name = Filters.category_name
GROUP BY Products.name;

इस क्वेरी से आपको मनचाहा परिणाम मिलेगा।

अब, Products को अपडेट करने के लिए इस क्वेरी के परिणाम के साथ तालिका, आप निम्न कार्य कर सकते हैं:

update Products
left join Filters
on Products.name LIKE CONCAT('%',Filters.filter,'%')
left join Categories
on Categories.name = Filters.category_name
set Products.category_name = Filters.category_name, 
    Products.category_id = Categories.id;

वर्किंग डेमो के लिए यहां क्लिक करें

आशा है कि यह मदद करेगा!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में चयनित मान को मैप करना

  2. MySQL क्लस्टर कैसे निर्धारित करता है कि किसी SELECT क्वेरी के लिए कौन से डेटा नोड्स को खोजना है?

  3. .NET या MS SQL का उपयोग करके MySql के पासवर्ड () एन्क्रिप्शन को सिम्युलेट करना

  4. दो डुप्लीकेट कॉलम कैसे हटाएं

  5. mysql सॉर्ट स्ट्रिंग नंबर