Re: A function to find errors in groups in a table
Shaozhong SHI <shishaozhong@gmail.com>
From: Shaozhong SHI <shishaozhong@gmail.com>
To: Steve Midgley <science@misuse.org>
Cc: pgsql-sql <pgsql-sql@lists.postgresql.org>
Date: 2022-06-09T23:13:20Z
Lists: pgsql-general, pgsql-sql
The first two can be regarded right. Certainly, the last one must be wrong. How can a primary flow get into a secondary flow? That is odd. Regards, David On Thursday, 9 June 2022, Steve Midgley <science@misuse.org> wrote: > > > On Thu, Jun 9, 2022 at 6:37 AM Shaozhong SHI <shishaozhong@gmail.com> > wrote: > >> There is a table full of grouped values like the following >> >> nodeid link_type primary >> 11 outflowlink 1 >> 11 inflowlink 1 >> 11 outflowlink 2 >> >> Primary of 1 indicates a primary water course. Primary of 2 indicates a >> secondary water course. >> >> Obviously, one of the out flow links is an error, as its primacy value is >> 2. It is wrong that water flows from a primary water course into a >> secondary water course. >> >> How can a function can be designed to find and report such errors? >> > > Is the problem that there exists this row: > > 11 outflowlink 2 > > But there is no corresponding row: > > 11 inflowlink 2 > > So that you need to find all "orphan" rows that don't have a corresponding > member with the opposing data field inflowlink or outflowlink where the > "primary" column is the join field between the two rows? > > Thanks for clarifying your problem, > Steve >