On May 14, 2008, at 8:15 AM, Karsten Hilbert wrote:
Effectively I want known-zip cities first, then
fragment-matching cities but without those already in the
known-zip list.

Can anyone teach me how I need to do this in SQL ?

I think you've made things far more complicated than you need. How about an approach something along these lines...

SELECT
   name,zip,
   (SELECT zip = '04317') as zipmatch
FROM
 dem.urb
ORDER BY zipmatch DESC, name;

This will give you a nice resultset incorporating a boolean field ('t' or 'f') reflecting whether or not the zip code matches. Sorting DESC on that "zipmatch" field will put the trues at the top of your result set.

No unions, no messy intersection problems. Much faster. I hope that applies to your situation.

-Nugget

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to