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

पहले-पहले, पहले-बाहर मूल्य निर्धारण के आधार पर लाभ की गणना करें

अच्छा प्रश्न। मैं जो दृष्टिकोण अपना रहा हूं वह कुल बिक्री की गणना करना है। फिर संचयी खरीदारी की गणना करें, और संयोजन के लिए सही अंकगणित प्राप्त करने के लिए उन्हें विशेष तर्क के साथ संयोजित करें:

select s.sku,
       (MarginPos - SUM(case when s.totalqty < p.cumeqty - p.qty then p.price * p.qty
                             when s.totalqty between p.cumeqty - p.qty and p.qty
                             then s.price * (s.totalqty - (p.cumeqty - p.qty))
                             else 0
                        end)
       ) as Margin
from (select s.sku, SUM(price*qty) as MarginPos, SUM(qty) as totalqty
      from sales s
     ) s left outer join
     (select p.*,
             (select SUM(p.qty) from purchase p2 where p2.sku = p.sku and p2.sale_id <= p.sale_id
             ) as cumeqty
      from purchase s
     )
     on s.sku = p.sku
group by s.sku, MarginPos

नोट:मैंने इस क्वेरी का परीक्षण नहीं किया है, इसलिए इसमें सिंटैक्स त्रुटियां हो सकती हैं।



  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. वाक्पटु:कॉलिंग व्हेयर ऑन अ रिलेशन

  3. php में डिस्प्ले ऑर्डर फ़ील्ड को कैसे बनाए रखें?

  4. सॉकेट अपवाद gitpod IDE (उबंटू सर्वर) से MySql डेटाबेस से कनेक्ट करने का प्रयास करते समय

  5. MySQL कमांड लाइन का उपयोग करके फाइलों से आयात और निर्यात करना