From: | The Hermit Hacker <scrappy(at)hub(dot)org> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: multi-table join, final table is outer join count ... |
Date: | 2001-05-12 22:47:24 |
Message-ID: | Pine.BSF.4.33.0105121945450.629-100000@mobile.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Got it after a bit of fiddling ... actually, not bad code ...
SELECT distinct s.gid, s.created, count(i.title) AS images
FROM status s LEFT JOIN images i ON (s.gid = i.gid AND i.active),
personal_data pd, relationship_wanted rw
WHERE s.active AND s.status != 0
AND (s.gid = pd.gid AND pd.gender = 0)
AND (s.gid = rw.gid AND rw.gender = 0 )
GROUP BY s.gid,s.created
ORDER BY images desc;
The part that had confused me was the whole 'ON' part ... once I clued in
that that is essentially a WHERE, it actually made sense ...
On Sat, 12 May 2001, The Hermit Hacker wrote:
>
> Okay, not sure best way to try and describe this ... have multiple tables,
> of a form like:
>
> table a
> gid int
> data text
>
> table b
> gid int
> data text
>
> table c
> gid int
> data text
>
> table d
> gid int
> data text
>
> I want to return:
>
> a.gid,a.data,b.data,c.data,count(d.data)
>
> where
>
> a.gid = b.gid = c.gid = d.gid
>
> *but* I want count(d.data) to return zero *if* there are no records in
> table d ...
>
> essentially, gid has to exist in tables a,b,c but not d ...
>
> So, ignoring table d, i'd have:
>
> SELECT a.gid,a.data,b.data,c.data
> FROM tablea a, tableb b, tablec c
> WHERE a.gid = b.gid
> AND b.gid = c.gid;
>
> How do I add 'tabled d' to the mix?
>
> Thanks ...
>
> Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
> Systems Administrator @ hub.org
> primary: scrappy(at)hub(dot)org secondary: scrappy(at){freebsd|postgresql}.org
>
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy(at)hub(dot)org secondary: scrappy(at){freebsd|postgresql}.org
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2001-05-13 00:38:03 | Re: Constraints... |
Previous Message | Hans-Jürgen Schönig | 2001-05-12 19:26:45 | SELECT timestamp('2001-06-12'::date - '2000-06-12'::date) |