Вот мой страшный ответ.
У меня есть таблица users
, а затем таблица events
со столбцом, который представляет собой только строку с разделителями-запятыми в указанном событии. например,
event_id | user_ids
1 | 5,18,25,99,105
В этом случае я использовал функции LIKE
и подстановочные знаки для создания новой таблицы, которая представляет каждый край пользовательского интерфейса.
SELECT e.event_id, u.id as user_id
FROM events e
LEFT JOIN users u ON e.user_ids like '%' || u.id || '%'
Это не очень , но я бросаю его в WITH
, так что мне не нужно запускать его более одного раза за запрос.
Кроме того, это работает только в том случае, если у вас есть вторая таблица, в которой имеет одну строку за уникальную возможность. Если нет, вы можете сделать LISTAGG
, чтобы получить одну ячейку со всеми вашими значениями, экспортировать ее в CSV и повторно загрузить , которая будет использоваться в качестве таблицы.
Как я сказал: ужасное, нехорошее решение.