0

我正在研究一个需要比较两个值的存储过程。这是我的sql代码

SELECT customer_id, max_rentals
FROM accounting inner join rental_plans
ON accounting.rental_plan_id = rental_plans.rental_plan_id
WHERE customer_id = 0

这返回:

customer_id max_rentals
----------- -----------
0           3

我想写一个声明,如果客户 0 的最大租金值是 3,那么就做点什么。如何在条件语句中引用该值?

提前致谢。

4

2 回答 2

1

这会按您的预期工作吗?

UPDATE <table>
SET <update field>=<value>
WHERE <table>.Customer_id IN (
    SELECT customer_id
    FROM accounting inner join rental_plans
    ON accounting.rental_plan_id = rental_plans.rental_plan_id
    WHERE max_rentals=3
)
于 2012-06-18T06:16:07.707 回答
0

我认为您正在尝试实现这样的目标。

使用 case 语句,您可以检查 max_rentals = 3 是否然后执行某些操作。

SELECT customer_id, max_rentals,
case   when max_rentals=3 then 'do something' else max_rentals end
FROM   accounting inner join rental_plans
ON     accounting.rental_plan_id = rental_plans.rental_plan_id
WHERE  customer_id = 0;
于 2012-06-18T05:49:59.947 回答