Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无法在嵌套查询中引用表别名_Sql_Oracle - Fatal编程技术网

Sql 无法在嵌套查询中引用表别名

Sql 无法在嵌套查询中引用表别名,sql,oracle,Sql,Oracle,标题可能看起来有点混乱,但是这个问题可能有助于理解我的困境。 我有一个这样的问题 SELECT TAB1.USER_ID, (SELECT DISTINCT MAX(SYS_CONNECT_BY_PATH(B.COL1, '/')) FROM (SELECT A.COL1, ROW_NUMBER() OVER(ORDER BY A.COL1) AS curr,

标题可能看起来有点混乱,但是这个问题可能有助于理解我的困境。 我有一个这样的问题

 SELECT TAB1.USER_ID,
        (SELECT DISTINCT MAX(SYS_CONNECT_BY_PATH(B.COL1, '/'))
           FROM (SELECT A.COL1,
                        ROW_NUMBER() OVER(ORDER BY A.COL1) AS curr,
                        ROW_NUMBER() OVER(ORDER BY A.COL1) - 1 AS prev
                   FROM (SELECT DISTINCT TAB2.COL1
                           FROM TABLE2 TAB2
                          WHERE TAB2.USER_ID = TAB1.USER_ID) A) B
         CONNECT BY PRIOR curr = prev
          START WITH curr = 1)
   FROM TABL1 TAB1
  WHERE TAB1.REC_STATUS = 'L'

我有两张桌子表1和表2。它们都有一个共同的属性USER\u ID。我根据USER\u ID选择值,并将结果行视为一个表(称为a)。但是查询无法引用在a外部创建的TABLE1。 这个查询实际上连接了所有返回的与USER\u ID条件匹配的COL1值。由于我使用的是Oracle9i,唯一可用的字符串连接是WM_CONCAT。我被告知不要使用它,因为这个函数没有文档记录

请帮助我如何在本例中引用A块内的用户ID中的TAB1列

感谢您的帮助


提前感谢

你做得不对

子查询不能引用外部查询。只有嵌套查询(如create with Exists)才能在内部查询中使用外部查询的属性

SELECT * FROM R S WHERE EXISTS (SELECT * FROM R WHERE R.a = S.a)
在内部查询中使用外部参数的示例

SELECT * FROM R S WHERE EXISTS (SELECT * FROM R WHERE R.a = S.a)