我有下表:
Product_id date cost qty
1 10-01-2019 5 2
18 10-01-2019 6 4
5 12-02-2019 10 6
8 13-02-2019 7 15
1 21-02-2019 8 21
5 21-02-2019 9 1
1 15-03-2019 10 3
Product_id date qty
1 14-01-2019 1
18 21-01-2019 3
5 12-02-2019 10
8 19-02-2019 4
1 01-02-2019 1
5 11-03-2019 3
1 12-02-2019 1
我想得到这个结果:
Product_id date qty Cost
1 14-01-2019 1 5
18 21-01-2019 3 6
5 12-02-2019 6 10
8 19-02-2019 4 7
1 01-02-2019 1 5
5 11-03-2019 3 9
1 22-02-2019 1 8
我有2张桌子:
1是我收到的数量和成本的订单 不同的产品和不同的成本。
第二张表是转账,其中我转账了不同日期的不同数量。
如何通过查询获得最终结果,因为如果您看到最终结果成本列是按日期显示记录,而不是最新成本显示。
答案 0 :(得分:0)
如果您需要最新价格,则查询为
SELECT product_id,date,qty,(SELECT cost
FROM order_received
WHERE order_received.product_id = transfer_table.product_id
AND order_received.date <= transfer_table.date
ORDER BY date DESC LIMIT 1) AS cost
FROM transfer_table
如果您需要平均价格,则查询为
SELECT product_id,date,qty,(SELECT SUM(qty)/SUM(cost)
FROM order_received
WHERE order_received.product_id = transfer_table.product_id
AND order_received.date <= transfer_table.date) AS cost
FROM transfer_table