用不同的测量单位计算

时间:2011-04-20 01:00:03

标签: sql

我有一张这样的表: -

            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时,它的价格是“卖价*大小*数量”。

我该怎么做?

感谢。

4 个答案:

答案 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';