Я получаю ошибку недопустимого идентификатора ORA-00904, из этого запроса
SELECT
tab1."col1" AS ID,
tab1."col4" AS Name,
tab1."col5" AS Place,
(SELECT SUBSTR (SYS_CONNECT_BY_PATH (one_row , ';'), 2) myConString
FROM (SELECT tab2."col3" || ',' || tab2."col4" AS one_row,
ROW_NUMBER () OVER(ORDER BY tab2."col1") rn,
COUNT (*) OVER () cnt
FROM dbo."table2" tab2
WHERE tab2."col1" = tab1."col1"
AND tab2."col2" = tab1."col2")
WHERE rn = cnt
START WITH rn = 1
CONNECT BY rn = PRIOR rn + 1)
FROM dbo."table1" tab1
WHERE tab1."col1" IN (1,2,3)
AND tab1."col2" = 1 AND tab1."col3" = 1;
в этом конкретном месте
tab2."col1" = tab1."col1" AND tab2."col2" = tab1."col2"
В подзапросе я объединяю строки в строку, и она прекрасно работает идать мне правильные результаты, что-то вроде
1,100;1,200;2,150....
Я думаю, проблема в том, что я пытаюсь ссылаться на объекты более чем на один уровень подзапроса, но я не могу понять, как переписать запрос.
Спасибо за любую помощь