如果在列中找到另一个数字,我正在尝试向SQL语句添加输出数字的功能。基本上,将数字映射到给定值,以便我们可以计算Excel内的佣金。我们有一个名为PaymentMethodID的值,它声明它是什么类型的付款。现金(1),支票(2),信用卡(3)或PayPal(4)。销售代表佣金根据使用的付款方式而变化,因此现在我们手动编辑电子表格以生成报告。
我想创建一个名为“Commission%”的列,根据PaymentMethodID中的内容输出小数。
实施例
SalesRep OrderValue PaymentMethodID Commission % Sara 100.00 1 15% Sara 80.00 2 15% Sara 350.00 1 15% Sara 200.00 3 12.5%
如何创建“佣金百分比”列并将PaymentMethodID映射到百分比?
答案 0 :(得分:6)
执行此操作的简洁方法是创建一个包含佣金的PaymentMethods
表(或扩展PaymentMethods
表(如果已有)。
像
这样的东西CREATE TABLE PaymentMethods (
PaymentMethodID INT NOT NULL,
CommissionPerc FLOAT
);
INSERT INTO PaymentMethods VALUES
(1,15), (2,15), (3,12.5);
然后只需加入表格,类似于
SELECT
Sales.SalesRep,
Sales.OrderValue
Sales.PaymentMethodID,
PaymentMethods.CommissionPerc
FROM
Sales
INNER JOIN PaymentMethods ON Sales.PaymentMethodID=PaymentMethods.PaymentMethodID
答案 1 :(得分:2)
使用CASE语句。像这样:
SELECT
SalesRep,
OrderValue,
PaymentMethodID,
CASE
WHEN PaymentMethodID = 1 THEN 15.00
WHEN PaymentMethodID = 2 THEN 15.00
WHEN PaymentMethodID = 3 THEN 12.50
END as CommisionPercent
FROM SomeTable