| From: | Harald Fuchs <use_reply_to(at)protecting(dot)net> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Missing numbers |
| Date: | 2005-05-31 16:28:12 |
| Message-ID: | pu64wzjr6r.fsf@srv.protecting.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
In article <429C7B9B(dot)1040705(at)lamundial(dot)hn>,
josue <josue(at)lamundial(dot)hn> writes:
> Hello list,
> I need to track down the missing check numbers in a serie, table
> contains a column for check numbers and series like this:
> dbalm=# select doc_numero,doc_ckseriesfk from bdocs where doc_cta=1
> dbalm-# and doc_tipo='CHE' order by doc_numero;
> doc_numero | doc_ckseriesfk
> ------------+----------------
> 19200 | 856938
> 19201 | 856938
> 19215 | 856938
> 19216 | 856938
> 19219 | 856938
> Missing numbers are:
> from 19202 to 19214 and 19217,19218
> Does anyone knows a way to get that done in SQL or plpgsql, thanks in
> advance
You could use something like that:
SELECT g.num
FROM generate_series ((SELECT min(doc_numero) FROM bdocs),
(SELECT max(doc_numero) FROM bdocs)) AS g(num)
LEFT JOIN bdocs ON bdocs.doc_numero = g.num
WHERE bdocs.doc_numero IS NULL
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Scott Marlowe | 2005-05-31 16:37:02 | Re: For Tom Lane |
| Previous Message | Tom Lane | 2005-05-31 15:46:14 | Re: interval integer comparison |