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

कॉलम नहीं मिलने के लिए शेष पंक्ति को शून्य या 0 के साथ प्रदर्शित करें

अगर मैं सही ढंग से समझ रहा हूं, तो आपको OUTER JOIN . का उपयोग करने की आवश्यकता है छूटे हुए महीनों के लिए परिणाम प्राप्त करने के लिए, लेकिन आपको CROSS JOIN . की भी आवश्यकता है कंपनी का नाम सही ढंग से प्राप्त करने के लिए -- यदि नहीं, तो यह NULL . के रूप में दिखाई देगा :

SELECT months.month,
     SUM(job_details.price_each*job_details.quantity) AS sum_monthly_price, 
     DATE_FORMAT(job.order_date, '%M') AS order_date, 
     customer.company_name 
FROM months CROSS JOIN customer 
    LEFT JOIN job on job.company_id = customer.company_id 
         AND months.month = month(job.order_date) 
    LEFT job_details on job.job_id = job_details.job_id 
WHERE months.month > month(date_sub(NOW(), INTERVAL 4 month)) 
    AND months.month <= month(NOW()) 
    AND customer.company_id = 6 
GROUP BY months.month 
ORDER BY months.month asc


  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 तालिका में सम्मिलित करते समय ORDER BY पर ध्यान नहीं दिया गया

  2. सशर्त MySQL क्रम दो (समान रूप से महत्वपूर्ण) स्तंभों द्वारा

  3. क्या मैं समूह के साथ गैर-कुल कॉलम का उपयोग कर सकता हूं?

  4. अगली बार जब व्यवसाय खुला हो तो खोजें; mysql घंटे गणना

  5. गूगल मैप्स एपीआई का उपयोग करके mySQL डेटाबेस में वर्तमान जीपीएस निर्देशांक भेजें