我的数据库表A有一列为"考核系数",一列为"上限"
现在我要用"考核系数"*"上限"得到1个值输入,如果这个数小于"上限"里面的值,就按算出的数输出,超过了上限按上限的数输出
比如"系数"为0.8  上限为200,那我输入的就是160
    "系统"为1.1  上限200,相*超过200了,我就输出200

解决方案 »

  1.   


    select case when 0.8*160 >200 then 200 else 160 end160
    select case when 0.8*260>200 then 200 else 160 end200
      

  2.   


    CREATE TABLE Tbl_Test1(系数 decimal(10,2),上限 numeric)
    INSERT INTO Tbl_Test1
    SELECT 0.80,200 UNION ALL
    SELECT 1.10,200UPdate Tbl_Test1 SET 上限 = 系数*上限 WHERE 系数*上限 <= 上限
    --DROP TABLE Tbl_Test1
      

  3.   


    CREATE TABLE Tbl_Test1(系数 decimal(10,2),上限 numeric)
    INSERT INTO Tbl_Test1
    SELECT 0.80,200 UNION ALL
    SELECT 1.10,200SELECT 系数,上限,CASE WHEN 系数*上限 <= 上限 THEN 系数*上限 ELSE 上限 END AS 输出 FROM Tbl_Test1
    --DROP TABLE Tbl_Test1