我不确定如何编码。以下是我在IF语句中需要的场景。这应该分为两个不同的IF语句,还是可以使用CASE?我是编程的新手,所以任何帮助将不胜感激。
Scenerios:如果selling_flag ='N'并且calculate_flag ='Y'那么返回list_price。如果selling_flag ='Y'和calculate_flag ='Y'那么返回customer_price。 IF calculation_flag ='N'THEN返回unit_selling
目前我有:
IF selling_flag = 'N' AND calculation_flag = 'Y' THEN
return list_price;
ELSE
return customer_price;
END IF;
IF calculation_flag = 'N' THEN
return selling_price;
END IF;
END;
谢谢。
答案 0 :(得分:1)
你可以这样做Case Statements PLSQL:
CASE
WHEN selling_flag = 'N' AND calculation_flag = 'Y' THEN list_price;
WHEN selling_flag = 'Y' AND calculation_flag = 'Y' THEN customer_price;
ELSE selling_price;
END CASE;
如果您有两个条件,如果两个条件都不满足,则默认为selling_price。
答案 1 :(得分:1)
如果这是PL / SQL代码,通常使用elsif
:
IF selling_flag = 'N' AND calculation_flag = 'Y' THEN
return list_price;
ELSIF selling_flag = 'Y' AND calculation_flag = 'Y'
return customer_price;
ELSIF calculation_flag = 'N' THEN
return selling_price;
END IF;
这也可以写成:
IF calculation_flag = 'Y' THEN
IF selling_flag = 'N' THEN
return list_price;
ELSE
return customer_price;
END IF;
ELSE
return selling_price;
END IF;