How to fetch rows with multiple values

From: Sebastjan Trepca <trepca(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: How to fetch rows with multiple values
Date: 2006-01-20 13:19:38
Message-ID: cd329af80601200519r32542fc0u3c45a32ab24355c5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I have a table like this:

CREATE TABLE customer_mapping
(
"Name" varchar(128) NOT NULL,
"ID" int8 NOT NULL
)

Data looks something like this:

"john" 1
"peter" 1
"test" 2
"george" 3

What I would like is to write a query where I can specify multiple names and
get the IDs which have them.

For now it seems the most efficient way is to use INTERSECT statement:

SELECT "ID" from customer_mapping WHERE "Name"='john'
INTERSECT
SELECT "ID" from customer_mapping WHERE "Name"='peter'

Although, I don't know how exactly to use ORDER, OFFSET and LIMIT in this
case...

Anyway, is there any better way of doing this? (I can't change the table
structure.)

Thanks, Sebastjan

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michael Glaesemann 2006-01-20 13:30:29 Re: How to fetch rows with multiple values
Previous Message Jaime Casanova 2006-01-20 13:05:16 Re: out parameters and SETOF