标题可能看起来有点混乱,但是查询可能有助于理解我的困境。我有这样的查询
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'
我有 2 个表 TABLE1 和 TABLE2。它们都有一个共同的属性,USER_ID。我根据 USER_ID 选择值并将结果行视为表本身(称为 A)。但是,查询未能引用在 A 外部创建的 TABLE1。此查询实际上连接了所有返回的与 USER_ID 条件匹配的所有 COL1 值。当我使用 Oracle 9i 时,唯一可用的字符串连接是 WM_CONCAT。我被告知不要使用它,因为此功能没有记录。
请帮助我如何能够在 A 块内引用 TAB1 的列(在本例中为 USER_ID)。
任何帮助表示赞赏。
提前致谢