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

कैलेंडर तालिका का उपयोग करके दिनांक सीमा क्वेरी में अनुपलब्ध अंतरालों को भरें

आपको कैलेंडर तालिका पर बाहरी जुड़ाव की आवश्यकता है। कुछ इस तरह

SELECT c.cal_date, coalesce(t1.price, 0) as total
FROM calendar c
LEFT JOIN (SELECT b.purchase_date::date, sum(price) as price 
           FROM order_products a 
           INNER JOIN order_saved b 
                   ON a.order_id = b.id 
                   AND b.purchase_date BETWEEN '2011-09-16 23:59' AND '2011-10-16 23:59' 
                   AND b.status > 2
                   AND a.usr_id = 'XXXX'
            GROUP BY b.purchase_date) t1 on t1.purchase_date = c.cal_date
WHERE cal_date BETWEEN '2011-09-16 23:59' AND '2011-10-16 23:59' 
ORDER BY c.cal_date

यदि आप DDL (CREATE TABLE .) पोस्ट करते हैं तो आपको बेहतर उत्तर मिलेंगे ) कथन, और न्यूनतम INSERT बयान जो हमें वास्तव में हमारे उत्तरों का परीक्षण करने के लिए पर्याप्त डेटा देते हैं। (अपना प्रश्न संपादित करें और DDL और INSERT कथन चिपकाएँ।)



  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 तालिका त्रुटि 1064

  2. InnoDB या विकल्पों का उपयोग करके समूह द्वारा MySQL AUTO_INCREMENT

  3. पीडीओ mysql:कैसे पता चलेगा कि सम्मिलित सफल हुआ था

  4. जावा और टॉमकैट के साथ बेसिक डीबी कनेक्शन पूल 7

  5. ISO-8859-1 कैरेक्टर utf-8 mysql कॉलम में डालने वाले टेक्स्ट को छोटा करता है