如何在最后两张购买发票中找到更改的价格

时间:2016-10-03 19:06:08

标签: sql postgresql

Postgres 9.1+将购买发票保存在两个表中:

发票标题:

get_time_required

发票行:

create table dok (
  dokumnr serial primary key,
  invdate date not null
  );

如何在最后两张购买发票中找到更改后的价格?

结果表应包含3列:

  • 产品
  • 最后(按日期)发票的价格和数量
  • 发票之前(按日期和dokumnr)最后一张发票的发票中的价格和数量

结果应仅限于最后两张发票中同一产品的价格不同的产品。 如何创建从发票标题和行返回此查询的查询?

使用Postgres 9.1及更高版本。

单张发票可以多次包含相同产品,价格不同。

更新

尝试使用下面的脚本。 它不会返回任何行。

它应该以数量返回价格,例如

上一个价格列中的

create table rid ( id serial primary key, dokumnr int not null references dok, product char(20), quantity numeric(12,5) not null, price numeric(12,2) ); 和上一个价格列中的5 pcs with 2;6 pcs with 1。如果至少有一个价格不同,则列应包含由4 pcs with 2

分隔的所有价格和数量

当天发票上有不同的价格,也应退货。可能订购时应该包括dokumnr字段,以加入invdate。

;

0 个答案:

没有答案