public inbox for [email protected]
help / color / mirror / Atom feedFrom: Torsten Grust <[email protected]>
To: Rob Sargent <[email protected]>
To: pgsql-sql <[email protected]>
Subject: Re: access sub elements using any()
Date: Mon, 31 Oct 2022 23:36:56 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
Hi,
On Mon, Oct 31, 2022, at 18:04, Rob Sargent wrote:
> Given an array of arrays ( e.g. v = {{1,'a'},{2,'b'},{3,'c'},{2,'d'}} ) is it possible, in plain sql, to access the first element of the listed arrays using the IN function? Say I wanted just those with 2 as first element. "where 2 = any(v[1])" does not work and not sure it's supported. And I cannot craft a lhs to fussy-match each of the elements in v. Can this be done?
if your inner arrays would be row values instead, i.e. if v would read
v = array[(1,'a'),(2,'b'),(3,'c'),(2,'d')] :: t[]
assuming CREATE TYPE t AS (x int, y text);
then your query could simply be
SELECT r.*
FROM unnest(v) AS r
WHERE r.x = 2;
Cheers,
—Torsten
--
| Torsten Grust
| [email protected]
view thread (4+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: access sub elements using any()
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox