Alguém pode me ajudar a entender o que está acontecendo aqui?
SELECT
jsonb_array_length(to_jsonb("gi"."colors_distilled")) "gi_colors_distilled_jsonb_len"
FROM
"general_inventories" "gi"
WHERE
"gi_colors_distilled_jsonb_len" > 1;
Falha com:
-- ERROR: column "gi_colors_distilled_jsonb_len" does not exist
-- LINE 6: "gi_colors_distilled_jsonb_len" > 1;
Isso funciona (implementando a expressão diretamente na condição), no entanto:
SELECT
jsonb_array_length(to_jsonb("gi"."colors_distilled")) "gi_colors_distilled_jsonb_len"
FROM
"general_inventories" "gi"
WHERE
jsonb_array_length(to_jsonb("gi"."colors_distilled")) > 1;
Parece que devo estar perdendo algo óbvio, mas há tão pouco aí que devo estar errando em uma suposição sobre como/quando os aliases são avaliados.