怎么算

时间:2011-01-04 10:49:01

标签: sql

我有一张这样的表:

Item     Qty    Price A         Price B
abc       5      36.00                0
qwe       8          0            48.00
zxc       6      12.00                0
poi       4      10.00                0
lkj       9      12.00                0
mnb       3          0            14.00     
vfr       7          0             6.00

如何使用SQL汇总值ie。如果价格A为零,它将选择价格B.预期结果如下: -

Item       Value
abc        180.00
qwe        384.00
zxc         72.00
poi         40.00
lkj         36.00
mnb         42.00
vfr         42.00 

5 个答案:

答案 0 :(得分:2)

SELECT 
 ITEM
 , (Qty * [Price A]) + (Qty * [Price B]) AS Value
FROM
 TableName

答案 1 :(得分:2)

如果A和B可能非零,请使用以下内容,并且您只想在发生这种情况时使用价格A:

SELECT Item, CASE WHEN `Price A` != 0 THEN `Price A` * Qty
                  ELSE `Price B` * Qty
             END AS Value
FROM table;

答案 2 :(得分:0)

为什么不做类似

的事情
SELECT SUM(Price A) FROM table; SELECT SUM(Price B) FROM table WHERE Price A = 0;

然后将结果一起添加......

答案 3 :(得分:0)

从上面的例子中你可以真正选择priceA + priceB,因为一个或另一个总是零,否则......我不太确定这可以在纯SQL中完成......

答案 4 :(得分:0)

假设两者都不能为空:

SELECT item, QTY * IF(PriceA!=0, PriceA, PriceB) AS VALUE from tableName;