我有一张这样的表: -
Selling Sales
Item SIZE QTY Price U/M
---- ---- ---- ----- -----
AAA 5 10 15.00 PCE
BBB 60 5 5.50 CM
CCC 8 7 12.50 PCE
DDD 75 3 6.80 CM
我需要使用SQL计算上述内容: -
Item Sales Value
AAA 150.00
BBB 1,650.00
CCC 87.50
DDD 1,530.00
问题是销售U / M,一些是PCE(每件)&一些在CM(每厘米)。
当它出现在PCE时,它的价格是“卖价*数量”&当它在CM时,它的价格是“卖价*大小*数量”。
我该怎么做?
感谢。
答案 0 :(得分:3)
select item, amount = case
when salesum = 'PCE'
then price * qty
else price * size * qty
end
from ...
答案 1 :(得分:1)
使用CASE:
select item,
case um
when 'PCE' then qty * price
when 'CM' then size * qty * price
end
from your_table
where um in ('PCE', 'CM');
where
子句可能会过度执行但你没有指定um
只能拥有这两个值而且我不确定你要为“else”做什么“case
中的条款。
答案 2 :(得分:0)
我会做这样的事情。
选择项目,案例当UM ='CM'然后价格*数量其他价格*数量*大小结束为值 来自sellSales
答案 3 :(得分:0)
SELECT item, qty * price AS Sales_Value
FROM your_table
WHERE um = 'PCE'
UNION ALL
SELECT item, SIZE * qty * price
FROM your_table
WHERE um = 'CM';