Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tính toán lợi nhuận dựa trên định giá xuất trước, nhập trước

Câu hỏi hay. Cách tiếp cận mà tôi đang thực hiện là tính toán tổng doanh số bán hàng. Sau đó, tính toán các giao dịch mua tích lũy và kết hợp chúng với logic đặc biệt để có được số học phù hợp cho sự kết hợp:

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

Lưu ý:Tôi chưa kiểm tra truy vấn này nên nó có thể có lỗi cú pháp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm nạp PDO chỉ trả về hàng đầu tiên

  2. mysql TẢI THÔNG TIN DỮ LIỆU với khóa chính tự động tăng

  3. Trình hướng dẫn Entity Framework gặp sự cố trên MySQL

  4. Chọn dữ liệu bảng với các câu lệnh PDO

  5. Hiển thị ngày như 30-04-2020 thay vì 2020-04-30 từ cơ sở dữ liệu mysql bằng javascript