| From: | Dan Langille <dan(at)langille(dot)org> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Removing simliar elements from a set |
| Date: | 2003-09-26 23:47:06 |
| Message-ID: | 20030926184440.B301@laptop.unixathome.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Josh Berkus | 2003-09-26 23:55:13 | Re: Removing simliar elements from a set |
| Previous Message | Tom Lane | 2003-09-26 22:53:06 | Re: [HACKERS] plpgsql doesn't coerce boolean expressions to boolean |