我有一个开源销售点系统的数据库。 名为ticketlines的表包含每个已售出的项目。 给定的任何折扣都存储在此表中,没有项目名称。 我正在尝试查找一个查询,在那里我可以读出带有NULL产品名称的行,然后计算商品售价。
答案 0 :(得分:0)
自我加入将为此目的而努力。我们的想法是用产品寻找机票。折扣行将加入票号匹配且折扣行不包含产品且产品行号加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;