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

Mysql - t1 पंक्तियों की गिनती के साथ t1 को अपडेट करें जहां दो कॉलम t1 . के समान हैं

चूंकि आप अपनी गैर-मिलान वाली पंक्तियों के लिए शून्य मान चाहते हैं, यह LEFT JOIN के लिए एक कार्य है , जैसे:

SELECT 
  t1.*, 
  IF(t2.`key` IS NULL, 0, COUNT(t1.`key`)) AS t2_row_count 
FROM 
  t1 
    LEFT JOIN t2 
      ON t1.id=t2.id 
      AND 
      t1.category=t2.category 
GROUP BY 
  t1.`key`

हम t1.key . की गिनती कर रहे हैं क्योंकि मेल खाने वाली पंक्तियों के लिए वे पहले . में समान होंगे तालिका (और दूसरी नहीं) - इस प्रकार, हमें इसके आधार पर समूह बनाना चाहिए - न कि दूसरी तालिका में फ़ील्ड द्वारा।

टिप :अपने टेबल/कॉलम को mysql आरक्षित शब्दों के साथ नाम देने से बचें। यदि आप गलती से बैकटिक्स भूल जाते हैं तो यह आपका बहुत समय बचाएगा।



  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 पर गतिरोध कैसे पैदा करें

  3. सर्वर पर कई फाइलें अपलोड करें जिसमें PHP सभी फाइलों को सर्वर पर अपलोड नहीं कर रहा है

  4. MySQL लाइन 1 त्रुटि पर '' के पास '' का उपयोग करने के लिए सही सिंटैक्स है

  5. मारियाडीबी - आईएनएनओडीबी वृद्धिशील रिकॉर्ड बनाते समय संख्या अनुक्रम को छोड़ रहा है - क्यों?