SQL - 为另一个数字插入一个数字

Don*_*ong 0 mysql sql

我试图在一个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映射到百分比?

Eug*_*eck 6

干净的方法是创建一个PaymentMethods包含佣金的表(或者扩展你的PaymentMethods表,如果你已经有一个表).

就像是

CREATE TABLE PaymentMethods (
  PaymentMethodID INT NOT NULL,
  CommissionPerc FLOAT
);

INSERT INTO PaymentMethods VALUES
  (1,15), (2,15), (3,12.5);
Run Code Online (Sandbox Code Playgroud)

然后简单地加入表,类似于

SELECT 
  Sales.SalesRep, 
  Sales.OrderValue
  Sales.PaymentMethodID,
  PaymentMethods.CommissionPerc
FROM
  Sales
  INNER JOIN PaymentMethods ON Sales.PaymentMethodID=PaymentMethods.PaymentMethodID
Run Code Online (Sandbox Code Playgroud)