计算一个表中一个数量的平均值与另一个表的数量之差

时间:2015-07-21 10:49:37

标签: sql database

我有两张桌子

Table1                          &       Table2
Prod | Reg | O.D | Qty               Prod | Reg | F.d | qty
p1   | wwq | 4/1 | 10                p1   | wwq | 7/1 | 45
p1   | wwq | 5/1 | 20                p2   | ewq | 8/1 | 32
p1   | wwq | 6/1 | 30
p2   | ewq | 3/1 | 22

我想从最后两个记录的平均数量(由O.D订购)中获取下一个数量的差异并显示差异。

例如。在表1中,对于产品p1,按O.D排序的最后两个数量的平均值为(30 + 20)/ 2 = 25。和下一个相同p1的数量是45。 所以,我希望差异作为答案。这是45-25 = 20。

我是sql的新手,我写了以下

SELECT (select avg(qty) from table1 where   order by OD limit 2 ) - table2.qty
FROM table1 INNER JOIN table2
ON table1.prod=table2.prod and table1.reg=table2.reg
ORDER BY table1.OD;

prod和reg是超级密钥。

任何帮助将不胜感激。 p.s-抱歉(没有)格式化。

1 个答案:

答案 0 :(得分:0)

我猜你想在表2中每行需要一行,第一个表中的平均值基于两个表之间的日期比较。在这种情况下,使用相关子查询:

protected