代码之家  ›  专栏  ›  技术社区  ›  Kartik Agarwal

SQL查询中的案例?

  •  0
  • Kartik Agarwal  · 技术社区  · 9 年前

    我在MySQL中有一个查询
    Give all managers of First Bank Corporation a 10 percent salary raise unless the salary become greater than $100000; in such cases, give only a 3 percent raise.

    在我的数据库中,我有下面的表,我必须在上面工作

    • 员工(emp_name、街道、城市)
    • 工作(emp_name、公司名称、工资)
    • 管理(emp_name、manager_name)`

    我已经完成了查询的一半,现在我不知道如何完成其他部分

    Update Works
        set Salary= salary + salary * 0.10
        where company_name = 'First Bank Corporation' AND
              emp_name IN (Select manager_name from Manages) AND
              salary > 100000;
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   spencer7593    9 年前
    UPDATE ...
       SET salary = CASE
                      WHEN salary * 1.10 > 100000
                      THEN salary * 1.03
                      ELSE salary * 1.10
                    END
     WHERE ... 
    

    -或-

    UPDATE ...
       SET salary = salary * CASE
                               WHEN salary * 1.10 > 100000
                               THEN 1.03
                               ELSE 1.10
                             END
     WHERE ...