"David G. Johnston" <david.g.johns...@gmail.com> writes:
> On Fri, Mar 12, 2021 at 3:18 AM Brent Wood <brent.w...@niwa.co.nz> wrote:
>> Is this what you mean?
>> 
>> select measurement_key,
>> value
>> from t_reading_hstore,
>> lateral ((EACH(value)).key as measurement_key,
>> lateral ((EACH(value)).value as value;

> The definition of "each" shows that it returns a record type.  That whole
> type can be considered a table and referenced in the select list.

Yeah.  To my mind, the main point here is to run each() just once per
t_reading_hstore row, not twice.  So something like

SELECT e.key, e.value FROM t_reading_hstore AS t, each(t.value) AS e;

(Writing LATERAL is optional.)

                        regards, tom lane


Reply via email to