X-Original-To: pgsql-sql@postgresql.org Received: from davinci.ethosmedia.com (unknown [209.10.40.251]) by postgresql.org (Postfix) with ESMTP id 0BEF4475A45 for ; Tue, 18 Mar 2003 11:35:40 -0500 (EST) Received: from [63.195.55.98] (HELO spooky) by davinci.ethosmedia.com (CommuniGate Pro SMTP 4.0.2) with ESMTP id 2908279; Tue, 18 Mar 2003 08:35:32 -0800 Content-Type: text/plain; charset="iso-8859-1" From: Josh Berkus Organization: Aglio Database Solutions To: Rudi Starcevic , pgsql-sql@postgresql.org Subject: Re: Count equals 0 Date: Tue, 18 Mar 2003 08:35:30 -0800 User-Agent: KMail/1.4.3 References: <3E76BCB9.9070603@oasis.net.au> In-Reply-To: <3E76BCB9.9070603@oasis.net.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <200303180835.30399.josh@agliodbs.com> X-Archive-Number: 200303/437 X-Sequence-Number: 12476 Rudi, > What I would like to see is something like: > > site a : 0 > site b : 3 > site c : 6 > > I've tries Left outer join's with and without coalesce without joy so far. > Please check out my query. You're going to need to nest your query: SELECT um2.site_name, COALESCE(count_um.total, 0) as total FROM user_main um2 LEFT OUTER JOIN (SELECT um.site_name, count(um.cus_id) AS total FROM user_main um WHERE NOT EXISTS ( SELECT cus_id FROM user_sys_messages usm WHERE usm.cus_id = um.cus_id ) GROUP BY um.site_name) count_um ON um2.site_name = count_um.site_name ORDER BY um2.site_name -- Josh Berkus Aglio Database Solutions San Francisco