簡體   English   中英

我如何使用MySQL獲取價格取決於id

[英]How can I get the price to depend on id using MySQL

我將pricequantity的總和相乘得到總數。 當我從不同的表中將兩列相乘時出現的問題是我得到了錯誤的結果。 價格與第一行10sup_med_id不匹配。 如何獲得價格取決於sup_med_id

sup_med_id  price  sup_id      rec_order_dtls  sup_med_id  rec_quantity
1           10.00     2           1               1           200
2           12.00     2           2               2           100

date_id   date
1         2019-01-01
2         2019-01-02
...       ...

輸出量

Month  Quantity  Total  Supplier
...
Jul   0          0      NULL
Aug   300        3000   Unilever    

我沒有將所有數據和表格放在上面。 我希望這是下面的結果。

預期產量

Month  Quantity  Total  Supplier
...
Jul   0          0      NULL
Aug   300        3200   Unilever 
 SELECT DATE_FORMAT(tbl_date.date, '%b') 
 AS Month, 
  COUNT(tbl_purchase_received_details.purchase_received_id) 
 AS Total_Order, 
  SUM(IFNULL(tbl_purchase_received_details.received_quantity,0)) 
 AS Quantity, 
  IFNULL((tbl_supplier_medicine.price) * 
  SUM(tbl_purchase_received_details.received_quantity),0) 
 AS Total_Amount, 
  tbl_supplier.supplier_name 
 AS Supplier FROM tbl_date 
 LEFT JOIN 
  tbl_purchase_received ON tbl_purchase_received.date_received = tbl_date.date 
 LEFT JOIN 
  tbl_purchase_received_details ON tbl_purchase_received.purchase_received_id 
  = tbl_purchase_received_details.purchase_received_id 
 LEFT JOIN 
  tbl_supplier_medicine ON tbl_supplier_medicine.supplier_medicine_id = 
  tbl_purchase_received_details.supplier_medicine_id 
 LEFT JOIN tbl_supplier ON tbl_supplier.supplier_id = 
  tbl_supplier_medicine.supplier_id 
 WHERE YEAR(tbl_date.date) = YEAR(NOW()) 
 GROUP BY DATE_FORMAT(tbl_date.date, '%b')
 ORDER BY tbl_date.date

您好如果我正確理解您的問題,那么您需要將數量和價格相乘才能得出總數。 如果正確,則可以使用以下查詢:

select tt.rec_quantity as quantity, (price * rec_quantity) as total from temp t inner join temp2 tt on t.sup_med_id=tt.sup_med_id;

如果其中一個表中沒有匹配數據,則可以使用左連接 讓我知道您是否需要幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM