0

2 つの値を比較する必要があるストアド プロシージャに取り組んでいます。ここに私の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 に答える