Which records aren't in list? Use static list as table or records

From: Durumdara <durumdara(at)gmail(dot)com>
To: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Which records aren't in list? Use static list as table or records
Date: 2019-05-22 13:43:17
Message-ID: CAEcMXhnOgYBB9JznjwVLX2XVL3+LZegZGcNGSVVWP=CMzvpgag@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi!

A very silly question. I have a limited list of identifiers.
I want to know which one IS NOT in a table.

The
select * from theserecords where id not in (1, 5, 12, 33, 55)
isn't listing missing records... because they are missing... :-)

For example, a pseudo:
idlist = (1, 5, 12, 33, 55)
select id from idlist
where id not in (select id from theserecords)

The id list is a static string.

Now I can do this with temporary table - I create one, insert the ID-s and
run the select:

select id from temptable where id not in (select id from theserecords)

It would be nice if I can get the missing ID-s.

F.e:

select id from (
select 1 as id,
select 5 as id,
...
) where id not in (select id from theserecords)

or

select id from (
select split_string_to_records('1,2,3,4,5', ',') as id
) ...

Do you know any simple way to do this without stored proc or temp table?

Thank you!

B.W:
dd

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gustavsson Mikael 2019-05-22 13:51:40 SV: Which records aren't in list? Use static list as table or records
Previous Message Rob Sargent 2019-05-22 13:19:28 Re: how to write correctly this update ?