-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