@diejsel

PostgreSQL->jsonb как использовать псевдонимы полей в условии?

Всем привет, особенно гуру PostgreSQL.
Есть запрос:
SELECT jsonb_array_elements(documents->'policy') AS policies
FROM (
	SELECT jsonb_array_elements(documents) AS documents
	FROM test
) AS policy
--WHERE policies->>'date_from' > '1424621049'

С закомментированным полем where запрос возвращает список полисов (json-объекты), содержащихся в поле documents (jsonb) таблицы test. Стоит внести условие, как ругается на неопределенное поле policies. В инете по данному вопросу ничего конкретного не нашел, кроме как псевдонимы для полей в условиях не поддерживаются (в mysql такое есть).
От сюда вопрос, как реализовать данный запрос с условием?
  • Вопрос задан
  • 823 просмотра
Пригласить эксперта
Ответы на вопрос 1
@diejsel Автор вопроса
Решил так, но может еще будут варианты и предложения. А то писать такую конструкцию во фрейворке через ORM, как-то не и "этично" что ли.
SELECT * 
FROM
(
	SELECT jsonb_array_elements(documents->'policy') AS policies
	FROM (
		SELECT jsonb_array_elements(documents) AS documents
		FROM test
	) AS policy
) AS result
WHERE policies->>'date_from' > '1424621049'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы