Вы должны поместить цитаты вокруг вашего адреса электронной почты:
SELECT
tbl1.PYU_EMAIL,
COUNT(tbl1.PYU_EMAIL) as TOTAL,
( SELECT ROWCONCAT( 'SELECT pyu_id FROM p_survey_invite WHERE pyu_email=''' || tbl1.pyu_email ||'''') FROM dual )
FROM p_survey_invite tbl1
GROUP BY tbl1.pyu_id, tbl1.pyu_email
ORDER BY total DESC;
Вы передаете строку в функцию ROWCONCAT (), которая динамически выполняет эту строку. Ваш код объединяет столбец varchar2 со строкой DML. Если вы не включите в строку экранированные кавычки, то, что вы передаете (и функция пытается выполнить), выглядит примерно так:
SELECT pyu_id FROM p_survey_invite WHERE pyu_email=gumpi@example.com
И вот почему это терпит неудачу.