变量的多个结果 - SQL

时间:2015-08-27 09:54:29

标签: sql oracle-sqldeveloper

首先,我道歉,我是SQL的新手。

我试图找出如何为定义的变量输入多个值。

目前我正在使用以下内容;

UNDEFINE MPAN_CORE
SELECT customer.MPAN.j0003 AS MPAN, customer.AGENT.j0183 AS DA, customer.AGENT.j0205 AS DC, customer.agent.j0178 AS MOP
FROM customer.mpan
    INNER JOIN customer.agent
        ON customer.mpan.uniq_id = customer.agent.mpan_lnk
WHERE customer.mpan.j0003 = '&&MPAN_CORE'

基本上我希望能够为客户MPAN输入多个值,并且有多个结果。目前我不得不一次输入一个MPAN。

不确定这是否可能,可能就像使用字符来划分我的输入值一样简单吗?

非常感谢任何帮助

谢谢

1 个答案:

答案 0 :(得分:0)

  

WHERE customer.mpan.j0003 ='&& MPAN_CORE'

使用等号运算符=不能有多个值。对于多个值,您需要使用 IN列表

例如,

SQL> SELECT empno, deptno FROM emp WHERE ename IN ('SMITH','KING','SCOTT');

     EMPNO     DEPTNO
---------- ----------
      7369         20
      7788         20
      7839         10

SQL>

或者,使用替换变量

SQL> SELECT empno, deptno FROM emp WHERE ename IN (&a);
Enter value for a: 'SMITH','KING','SCOTT'
old   1: SELECT empno, deptno FROM emp WHERE ename IN (&a)
new   1: SELECT empno, deptno FROM emp WHERE ename IN ('SMITH','KING','SCOTT')

     EMPNO     DEPTNO
---------- ----------
      7369         20
      7788         20
      7839         10

SQL>