У меня есть таблица (например, Users
) в базе данных PostgreSQL. Его размер относительно большой (около 4 ГБ данных), и я хотел бы получить таблицу / результат, состоящий из отдельных строк, выполняющих запрос select
. Этот запрос должен быть выполнен для каждого элемента в массиве строк (пара десятков элементов).
Пример одиночного выбора для одного элемента:
SELECT * FROM "Users" WHERE "Surname" LIKE 'Smith%' LIMIT 1
Значение между '
и %'
должно быть элементом входного массива.
РЕДАКТИРОВАТЬ: Мне не важно, получаю ли я запись № 1 или 2 для LIKE 'Smith%'
Как мне этого добиться?
Я пытался добавить результаты запроса к некоторой переменной массива в цикле FOREACH
, но безуспешно.
Пример исходной таблицы:
| Id | Name | Surname |
|---- |-------- |---------- |
| 1 | John | Smiths |
| 2 | Adam | Smith |
| 3 | George | Kowalsky |
| 4 | George | Kowalsky |
| 5 | Susan | Connor |
| 6 | Clare | Connory |
| 7 | Susan | Connor |
А для ['Smith', 'Connor']
вывод:
| Id | Name | Surname |
|----|-------|---------|
| 1 | John | Smiths |
| 5 | Susan | Connor |