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

mysql सबक्वेरी का उपयोग करके इन्वेंट्री और बिक्री को कैसे घटाएं?

वांछित आउटपुट प्राप्त करने के लिए आपको उत्पाद की बिक्री के कुल योग की गणना करने की आवश्यकता है। सार्थक डेटा प्राप्त करने के लिए, sales में डेटा तालिका को कालानुक्रमिक रूप से क्रमबद्ध किया जाना चाहिए। इसलिए आपको डेटा सॉर्ट करने के लिए कम से कम एक और फ़ील्ड चाहिए - इससे कोई फ़र्क नहीं पड़ता कि यह टाइमस्टैम्प है, या id है खेत। आइए मान लें कि एक id है बिक्री तालिका में क्षेत्र। आपने जो वर्णन किया है उसे प्राप्त करने के लिए यह एक प्रश्न है:

SELECT 
    sales.id,
    sales.store_id,
    sales.product_id,
    inventories.quantity-IFNULL(SUM(sales_2.quantity), 0) as inventory,
    sales.quantity as sales,
    inventories.quantity-IFNULL(SUM(sales_2.quantity), 0) - sales.quantity as remaining
FROM
    sales
        INNER JOIN
    inventories ON inventories.store_id = sales.store_id
        AND inventories.product_id = sales.product_id
        LEFT JOIN
    sales AS sales_2 ON sales_2.store_id = sales.store_id
        AND sales_2.product_id = sales.product_id
        AND sales_2.id < sales.id
GROUP BY sales.id , sales.store_id , sales.product_id
ORDER BY sales.id

sales . का दूसरा उदाहरण sales_2 . नामक तालिका पिछली बिक्री के योग की गणना करने के लिए उपयोग किया जाता है (sales_2.id<sales.id )

आप sales.id . को बाहर कर सकते हैं select . से क्लॉज, लेकिन आपको इसे group by में रखना होगा और order by



  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 के साथ नोडज पर mysql में कॉलम कैसे सूचीबद्ध करें?

  2. क्वेरी खाली PHP त्रुटि थी

  3. डेटा को बल्क में स्टोर करने के लिए libpqxx का उपयोग करना या libpqxx में COPY स्टेटमेंट का उपयोग कैसे करना है?

  4. MySql - बचे हुए दिन पाएं

  5. केक php Api . में MySql क्वेरी