我的代码是这样的:
SELECT p.productid AS 'Redni broj',
p.code AS 'Sifra robe',
p.unitname AS 'Jedinica mere',
di.quantity AS 'Kolicina',
di.price 'Stara cena',
di.itemvalue 'Stari iznos',
di.price2 AS 'Nova cena',
(di.price2 * di.quantity) AS 'Novi iznos',
(di.price2 * di.quantity - di.itemvalue) AS 'Difference',
SUM(di.price2 * di.quantity - di.itemvalue > 0) AS 'Positive difference',
SUM(di.price2 * di.quantity - di.itemvalue < 0) AS 'Negative Difference'
FROM product AS p
LEFT JOIN productcategorypr AS pc ON p.productid = pc.productid
LEFT JOIN documentitem AS di ON p.productid = di.productid
GROUP BY p.productid
我需要过滤差异到2列,所有差异低于0,所有差异高于0,差异是新的价格-旧的价格。。。
2条答案
按热度按时间rwqw0loc1#
求和(如果(di.price2di.quantity-di.itemvalue)>0,则(di.price2di.quantity-di.itemvalue)否则0结束)为“正差”
求和(如果(di.price2di.quantity-di.itemvalue)<0,则(di.price2di.quantity-di.itemvalue)否则0结束)为“负差”
z6psavjg2#
此表达式不正确:
你需要用一个
CASE
表达式:对…做同样的事
Negative difference
表达式: