-1
我有一个开源销售点系统的数据库。 名为ticketlines的表格包含每个销售商品。 给定的任何折扣都存储在此表中,没有项目名称。 我试图找到一个查询,在那里我可以读出与行之前的空产品名称的行来计算项目销售价格。MySQL数据库比较2行
我有一个开源销售点系统的数据库。 名为ticketlines的表格包含每个销售商品。 给定的任何折扣都存储在此表中,没有项目名称。 我试图找到一个查询,在那里我可以读出与行之前的空产品名称的行来计算项目销售价格。MySQL数据库比较2行
自联接将达到这个目的。这个想法是用产品寻找票。折扣行将加入机票号码匹配的地方,并且折扣行不包含产品,并且产品线号加1等于折扣行号。
select p.ticket,
p.line,
p.units,
p.price as unit_price,
ifnull(d.discount,0) as discount,
p.units * (p.price - ifnull(d.discount,0)) as sale_price
from ticketlines p
left join ticketlines d on (d.ticket=p.ticket and d.line=p.line+1 and d.product is null)
where p.product is not null;
非常感谢你的工作。 – Alex32
欢迎来到SO!这个问题有点难以理解。你能否发布一个[最小,完整和可验证的例子](http://stackoverflow.com/help/mcve)? – user5226582
“之前的行”不是RDBMS意识到的概念。显示您的DDL和示例数据。 – JimmyB