2012-06-18 94 views
0

我就需要比較兩個值的存儲過程工作的結果。這是我的SQL代碼引用select語句

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,那麼做一些事情的聲明。我如何在條件聲明中引用該值?

在此先感謝。

+0

什麼意思是「做某事」? – Nalaka526

+0

這是我想做的事情...... 檢查是否最大租金@客戶ID = 1的值是3,如果再加入25到他們的賬戶餘額 –

回答

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; 
+0

但我要如何檢查是否最大的出租CUSTOMER_ID = 3? –

+0

@LuisBarahona where where子句像這樣'WHERE customer_id = 3;' –

+0

這看起來是否正確? IF accounting.movi​​es_out> 0其中CUSTOMER_ID = @customer_id THEN –

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 
)