在Postgresql中,我有items
表,如下所示:
id qty
1 20
2 45
3 10
它包含每种产品的数量。
我正在进行计数操作。对于我计算的每个项目,我将数据复制到log_count
表。物品表从未改变。
我想写一个查询,它会告诉我表之间的区别。基本上还剩下多少钱。当数量为0时,该行消失。
应该是这样的:
开始:
items: log_count: QUERY SHOW:
1 20 1 20
2 45 2 45
3 10 3 10
后计算:id=1 qty=3
items: log_count: QUERY SHOW:
1 20 1 3 1 17
2 45 2 45
3 10 3 10
之后,在计算:id=2 qty=45
items: log_count: QUERY SHOW:
1 20 1 3 1 17
2 45 2 45 3 10
3 10 * row of id 2 is gone as its qty=0
之后,在计算:id=1 qty=2
items: log_count: QUERY SHOW:
1 20 1 5 1 15
2 45 2 45 3 10
3 10
最后阶段......
items: log_count: QUERY SHOW:
1 20 1 20
2 45 2 45
3 10 3 10
如何撰写此查询?
答案 0 :(得分:1)
看起来像是一个简单的加入我:
select it.id, it.qty - lc.qty as difference
from items it
left join log_count lc on it.id = lc.id
where it.qty - lc.qty > 0;