mysql - 如何使用 MySQL 获得取决于 id 的价格
问题描述
price
我将和 SUM相乘quantity
得到总数。当我将不同表中的两列相乘时,我得到了错误的结果。sup_med_id
价格与它刚刚占据的第一行不匹配10
。我怎样才能得到价格取决于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;
如果其中一张表没有匹配数据,则可以使用left join。如果您需要帮助,请告诉我。
推荐阅读
- python - 增加对 Python read() 函数的理解
- apache-kafka - 获取Java中每个主题分区的消息计数和最后一个偏移量
- java - java.lang.NoClassDefFoundError: io/reactivex/subjects/Subject 在 Intellij Idea 中构建 jar (gradle + JavaFX 11)
- angular - 将数组转换为单个数组,并将键分配给对象值
- laravel - 通过 CreateFreshApiToken 进行 Laravel 护照身份验证总是返回 {"message":"Unauthenticated."}
- java - 如何使用 Jackson 将两个 XML 标记之间的内容提取为文本?
- spring - Spring ws - Swaref 的数据处理程序仍然为空
- java - MessageBrokerServlet 与 XmlWebAppInitializer 方法
- php - Doctrine 中的自定义 QueryBuilder
- javascript - Javascript 正则表达式替换 []