Без использования сложного синтаксического анализатора SQL не так просто извлечь таблицу, столбец из запроса SQL.Давайте возьмем этот простой SQL, например:
SELECT a.deptno "Department",
a.num_emp/b.total_count "Employees",
a.sal_sum/b.total_sal "Salary"
FROM
(SELECT deptno, COUNT(*) num_emp, SUM(SAL) sal_sum
FROM scott.emp
GROUP BY deptno) a,
(SELECT COUNT(*) total_count, SUM(sal) total_sal
FROM scott.emp) b
Вам не только нужно получить столбец наподобие: scott.emp.deptno в подзапросе из предложения from, но также нельзя принять num_emp в качестве столбца,это просто псевдоним в подзапросе.
Просто пример, чтобы вы знали, что манипулирование строками или RegEx не работает для этого, вы должны полностью проанализировать SQL , чтобы точно получить желаемый результат.