我有问题正确计算每个项目的税和折扣,主要是因为我不确定订单应该是什么。我可以在没有任何问题的情况下在计算器上执行此操作,但编写SQL是另一回事。整个专栏由朋友完成,并按预期工作。根据他的总列,我添加了taxtotal列,这似乎给出了正确的结果。尽管如此,我仍然遇到了折扣问题。帮助计算税和折扣
有2个折扣栏。一种是可以在清单中设置的初始折扣以及店员可以应用的第二种折扣。折扣栏为op.discount
和p.discount
。没有单独的折扣表,只是两个连接中的列。
我想确保我的taxtotal列是正确的,所以如果有人看到一个问题或更好的写作方式,我会欣赏任何建议。
SELECT
p.tax_state as tax_state,
p.tax_fed as tax_fed,
p.price AS price,
op.quantity AS quantity,
op.discount AS discount,
(p.tax_state + p.tax_fed) AS tax,
((p.tax_state + p.tax_fed)/100) * (p.price * op.quantity - (p.price * op.quantity * op.discount + p.discount /100)) AS taxtotal,
(p.price * (1 + ((p.tax_state + p.tax_fed)/100)) * (1.0 - op.discount) * op.quantity) AS total
FROM pos_order o
JOIN pos_item_order op ON op.order_id = o.order_id
JOIN inv_item p ON p.item_id = op.item_id
RUP您好,感谢。折扣价值以十进制格式存储:.5我现在就试试这个。谢谢。 – Jim 2011-02-03 11:20:47
嗯,好的 - 那么你可能不想在这里使用`/ 100`。但也许我误解了。 (如果他们是绝对的折扣,即.5意味着50美分不是50%,那么我误解了!) – Rup 2011-02-03 11:23:08