Получить список результатов из первого запроса sql и выполнить второй запрос по результату списка первого запроса - PullRequest
0 голосов
/ 26 марта 2020

Итак, я работаю с красным смещением и SQL в первый раз. Я столкнулся с этой проблемой из-за моего ограниченного знания SQL.

У меня есть первый запрос, который возвращает мне таблицы со столбцом A. (TableX, TableY ... et c)

SELECT tablename
FROM PG_TABLE_DEF
WHERE ("column" = 'columnA');

Также у меня есть второй запрос, который возвращает мне все строки таблицы, содержащие определенное значение столбца A.

SELECT * 
FROM TableX 
WHERE columnA='123934' 

То, чего я хочу добиться, это взять результат из первого запроса, который представляет собой список таблиц, и для каждой таблицы выполнить второй запрос, т.е. получить строки со значением columnA = 123934 для каждой таблицы, возвращаемой из первого запроса.

1 Ответ

0 голосов
/ 26 марта 2020

То, чего вы хотите достичь, выполняется с помощью Dynami c SQL. Динамические c запросы позволяют запускать запрос из строки. Я не пользователь Redshit, но для генерации строки SQL, которую вам нужно запустить, вы можете использовать следующий запрос:

SELECT 'SELECT * FROM '||tablename ||' WHERE ColumnA= ''123934''; '
FROM PG_TABLE_DEF
WHERE ("column" = 'columnA');

Вы можете попробовать запустить его вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...