John DeSoi wrote:
Suppose I have an integer array (or cursor with one integer column)
which represents primary keys of some table. Is there a simple and
efficient way to return the rows of the table corresponding to the
primary key values and keep them in the same order as the array (or
cursor)? Seems like it should be easy, but I'm not seeing it.
Thanks,
John DeSoi, Ph.D.
Matching the rows is easy. Getting them in the same order as the items
in the array will require an ORDER BY. The contrib package _int has an
idx() that you can use for that.
SELECT *
FROM foo
WHERE foo.id = ANY(myPkArray)
ORDER BY idx(myPkArray, id)
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general