Received: from localhost (unknown [200.46.204.191]) by postgresql.org (Postfix) with ESMTP id 9FDC59F9D8B for ; Tue, 11 Sep 2007 18:59:43 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.191]) (amavisd-maia, port 10024) with ESMTP id 82278-10 for ; Tue, 11 Sep 2007 18:59:39 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.5 Received: from web31806.mail.mud.yahoo.com (web31806.mail.mud.yahoo.com [68.142.207.69]) by postgresql.org (Postfix) with SMTP id 853AF9F9D7E for ; Tue, 11 Sep 2007 18:59:39 -0300 (ADT) Received: (qmail 26528 invoked by uid 60001); 11 Sep 2007 21:59:38 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=nOcvMMMyk6vgn2Hj/8BLIH0Lwr6pK/OqUz+lLkYnmSq9xNpYvEg0G8pP0Sfgrurd1651DZs8sSvDuvL7vWWngWsjHgh73gFbzsmaYjwIH6XVpqyKCit0HIyXL2v0n3E3UziIpxTMnwUGNzHb62aEeema7JGRQH0kAwyvUh3dGcs=; X-YMail-OSG: PZbVTpwVM1nTNs907wqYypBALWhg1CR.vg1LvTS2LTICHyv9sgCyLcZyUgxl7QmfIy3jzW79iQ-- Received: from [12.180.237.138] by web31806.mail.mud.yahoo.com via HTTP; Tue, 11 Sep 2007 14:59:37 PDT Date: Tue, 11 Sep 2007 14:59:37 -0700 (PDT) From: Richard Broersma Jr Subject: Re: Simple Query? To: Koen Bok , pgsql-sql@postgresql.org In-Reply-To: <2C0EA394-5AC8-4FC8-99F3-5FAEE9720360@madebysofa.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <7012.26158.qm@web31806.mail.mud.yahoo.com> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200709/85 X-Sequence-Number: 29298 --- Koen Bok wrote: > I am doing some optimization on our search, but I need some advise... > > table: item > > id name > -------------------------------------- > 1 iPod > 2 Zune > 3 Walkman > > table: search_item > > id_search id_item > -------------------------------------- > 1 1 > 1 2 > 1 3 > 2 2 > 2 3 > 3 1 > 3 3 > > > Now what I want to have is the items that match with id_search 1 and > 2 and 3. Therefore I use the following SQL query. SELECT id_search FROM Search_item GROUP BY id_search HAVING Count( * ) = 3 AND Max( id_item ) = 3 AND Min( id_item ) = 1; Regards, Richard Broersma Jr.