PL \ SQL Hot我可以将选择值转换为位标志吗?

时间:2016-01-04 09:48:02

标签: oracle plsql

我想要像以下一样使用pl-sql:

SELECT ID FROM some-table WHERE 
  (SELECT MAX(some-expression) FROM another-table = 1) OR
  (some-table.ID IN SELECT (SELECT ID FROM one-more-table)) 

如果some-expression的最大值等于1,则此伪查询将从some-table中选择所有ID(否则将过滤ID除以一个表值)

如何在PL-SQL中正确实现它?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

请找到下面的pl-sql:

DECLARE

v_Column1  NUMBER(4);
v_deptno    NUMBER(2);

BEGIN

SELECT MAX(A.DEPTNO)
INTO v_deptno
FROM (SELECT DEPTNO FROM DEPT) A;


SELECT A.EMPNO
INTO v_Column1
FROM EMP A
WHERE  A.DEPTNO=v_deptno
OR
A.EMPNO IN ( SELECT EMPNO FROM EMP_2);

END;
/