Removing simliar elements from a set - Mailing list pgsql-sql

From Dan Langille
Subject Removing simliar elements from a set
Date
Msg-id 20030926184440.B301@laptop.unixathome.org
Whole thread Raw
Responses Re: Removing simliar elements from a set  (Josh Berkus <josh@agliodbs.com>)
List pgsql-sql
Hi folks,

I'm trying to remove items from a set which are similar to items in
another set.

This is the set (MASTER) from which I wish to remove items:

/ports/Mk/bsd.python.mk/ports/lang/python-doc-html/distinfo/ports/lang/python/Makefile/ports/lang/python/distinfo/ports/lang/python/files/patch-Modules-Setup.dist

These are the items (MATCHES) which are the prefixes which must be
removed:
/ports/lang/python-doc-html/ports/lang/python

In this case, the answer would be:
/ports/Mk/bsd.python.mk

In short, we remove all items from MASTER which are under the directories
specified in MATCHES.

My first attempt, which works only if MATCHES contains one item:

SELECT * FROM MASTER JOIN MATCHES   ON NOT (MASTER.pathname ~ ('^' || MATCHES.pathname || '/.+'));

However, if there is more than one row in MATCHES, this will not work.

Clues please?
-- 
Dan Langille - http://www.langille.org/


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] plpgsql doesn't coerce boolean expressions to boolean
Next
From: Josh Berkus
Date:
Subject: Re: Removing simliar elements from a set