Received: from lmail.actcom.co.il (lmail.actcom.co.il [192.114.47.13]) by postgresql.org (Postfix) with ESMTP id 86EB1474E49 for ; Tue, 16 Jul 2002 21:19:23 -0400 (EDT) Received: from shmuel-desk (line132-229.adsl.actcom.co.il [192.115.132.229]) by lmail.actcom.co.il (8.11.6/8.11.6) with ESMTP id g6H1JPU09081 for ; Wed, 17 Jul 2002 04:19:25 +0300 From: "Shmuel A. Kahn" To: pgsql-sql@postgresql.org Date: Wed, 17 Jul 2002 04:20:44 +0200 Subject: Newbie: Creative use of LIMIT?? Message-ID: <3D34F09C.13692.1B5CF71@localhost> X-mailer: Pegasus Mail for Windows (v4.01) X-Archive-Number: 200207/250 X-Sequence-Number: 8628 Hello all, Being pretty new at SQL, I have a problem I don't know how to solve. Assuming I have the following two tables of people and their nicknames, and that I want to create a list containing UPTO 2 (or any value greater than 1) nicknames for EACH member of a specific family (Fam column), how would I do this? I know how to get ALL of the nicknames for the family: SELECT "MEMBERS"."Name", "NICKS"."Nickname" FROM "NICKS", (SELECT "PEOPLE"."ID", "PEOPLE"."Name" FROM "PEOPLE" WHERE "PEOPLE"."Fam" = 1) AS "MEMBERS" WHERE "NICKS"."ID" = "MEMBERS"."ID" ORDER BY "MEMBERS"."Name" but am totally clueless on how to impose a limit on the number of rows to get for each individual family MEMBER. Can it be done in a single query? I sure hope so. Any help? Shmuel A. Kahn PEOPLE Fam |ID | Name | Yada1 Yada2 .... ---------------------------------- 1 | 1 | George ..... 1 | 2 | Sally ..... 1 | 3 | Joe ..... 1 | 4 | Barbara ..... 2 | 5 | DarthVader ..... ..... ..... NICKS ID | Nickname ------------------ 1 | Pops 1 | BigChief 1 | Honcho 2 | Mums 2 | YesMother 3 | JoeJoe 3 | Bumpkin 3 | Jug 4 | Barb ..... ..... -- You're just jealous because the voices only talk to me. Shmuel A. Kahn Shmuel@Kam-motion.com