Oracle判断语句

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:32:17
SELECT a.uen dp2_uen, b.NAME dp2_company_name, a.total_dp dp2_acc_dp
FROM pen_dp_summary a, entp_company b
WHERE a.current_stage IN ('2', '2A', '2B', '2C', '3')
AND a.uen = b.uen
AND a.delete_ind = 'F'

SELECT a.uen dp2_uen, b.NAME dp2_company_name, a.total_dp dp2_acc_dp
FROM pen_dp_summary a, entp_company b
WHERE a.current_stage IN ('2') AND a.uen = b.uen AND a.delete_ind = 'F'

SELECT a.uen dp2_uen, b.NAME dp2_company_name, a.total_dp dp2_acc_dp
FROM pen_dp_summary a, entp_company b
WHERE a.current_stage IN ('2A', '2B', '2C', '3')
AND a.uen = b.uen
AND a.delete_ind = 'F'
要求条件A输出语句1的内容,条件B输出语句2的内容,条件C输出语句3的内容。不用union,可以用case...then或者decode实现吗?没作出来,还是要用其它方法实现。谢谢。

用or

SELECT a.uen dp2_uen, b.NAME dp2_company_name, a.total_dp dp2_acc_dp
FROM pen_dp_summary a, entp_company b
WHERE
(a.current_stage IN ('2', '2A', '2B', '2C', '3')
AND a.uen = b.uen
AND a.delete_ind = 'F' and 条件='A')
or
(a.current_stage IN ('2') AND a.uen = b.uen AND a.delete_ind = 'F' and 条件='B')
or
( a.current_stage IN ('2A', '2B', '2C', '3')AND a.uen = b.uen AND a.delete_ind = 'F'
and 条件='C' )