我有下表:
id tax rate quantity
1 20 400 5
2 20 566 2
3 5 200 4
Run Code Online (Sandbox Code Playgroud)
这是我的预期输出:
taxableamount taxamount total
3132.00 626.40 3758.40
800.00 40.00 840.00
Run Code Online (Sandbox Code Playgroud)
让我解释一下我的尝试:
如果每行具有相同的税值,我计算rate × quantity每行数据的金额(),然后计算税额(amount × tax ÷ 100)并将结果显示在一行中,即使它们来自多行.但如果行没有相同的税值,它将显示在单独的行中.
$query = "SELECT SUM(
CASE WHEN tax=tax
THEN rate*quantity ELSE 0 END) AS taxableamount,
SUM(CASE WHEN tax=tax
THEN (rate*quantity)+(rate*quantity)*tax/100 ELSE 0 END) AS tax,
SUM(CASE WHEN tax=tax
THEN (rate*quantity)*tax/100 ELSE 0 END) AS taxamount,
SUM(CASE WHEN tax=tax
THEN (rate*quantity)+(rate*quantity)*tax/100 ELSE 0 …Run Code Online (Sandbox Code Playgroud)