Re: Join question

From: Lennin Caro <lennin(dot)caro(at)yahoo(dot)com>
To: 'Daniel Hernandez' <breydan(at)excite(dot)com>, pgsql-sql(at)postgresql(dot)org, "Edward W(dot) Rouse" <erouse(at)comsquared(dot)com>
Subject: Re: Join question
Date: 2008-08-19 15:59:09
Message-ID: 252086.75462.qm@web59505.mail.ac4.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

--- On Tue, 8/19/08, Edward W. Rouse <erouse(at)comsquared(dot)com> wrote:

> From: Edward W. Rouse <erouse(at)comsquared(dot)com>
> Subject: Re: [SQL] Join question
> To: "'Daniel Hernandez'" <breydan(at)excite(dot)com>, pgsql-sql(at)postgresql(dot)org
> Date: Tuesday, August 19, 2008, 1:35 PM
> I have tried left, right outer and inner.
>
>
>
> Edward W. Rouse
>
>
>
> From: Daniel Hernandez [mailto:breydan(at)excite(dot)com]
> Sent: Monday, August 18, 2008 12:30 PM
> To: pgsql-sql(at)postgresql(dot)org; erouse(at)comsquared(dot)com
> Subject: Re: [SQL] Join question
>
>
>
> have you tried a right Join?
>
>
> Daniel Hernndez.
> San Diego, CA.
> "The more you learn, the more you earn".
> Fax: (808) 442-0427
>
>
> -----Original Message-----
> From: "Edward W. Rouse" [erouse(at)comsquared(dot)com]
> Date: 08/15/2008 09:48 AM
> To: pgsql-sql(at)postgresql(dot)org
> Subject: Re: [SQL] Join question
>
> I have 2 tables, both have a user column. I am currently
> using a left join from table a to table b because I need to
> show all users from table a even those not having an entry
> in table b. The problem is I also have to include items from
> table b with that have a null user. There are some other
> criteria as well that are simple where clause filters. So as
> an example:
>
>
>
> Table a:
>
> Org|user
>
> A | emp1
>
> B | emp1
>
> B | emp2
>
> B | emp3
>
> C | emp2
>
>
>
> Table b:
>
> Org|user|color
>
> A |emp1|red
>
> A |emp1|blue
>
> A |null|pink
>
> A |null|orange
>
> B |emp1|red
>
> B |emp3|red
>
> B |null|silver
>
> C |emp2|avacado
>
>
>
> If I:
>
>
>
> select org, user, count(total)
>
> from a left join b
>
> on (a.org = b.org and a.user = b.user)
>
> where a.org = ‘A’
>
> group by a.org, a.user
>
> order by a.org, a.user
>
>
>
> I get:
>
>
>
> Org|user|count
>
> A |emp1|2
>
> A |emp2|0
>
> A |emp3|0
>
>
>
> But what I need is:
>
>
>
> A |emp1|2
>
> A |emp2|0
>
> A |emp3|0
>
> A |null|2
>
>
>
> Thanks,
>
> Edward W. Rouse

also like this...

select id1,dato1, count(id2) from
(
select pr1.id as id1,pr1.dato as dato1,pr2.oid as id2,pr2.dato from pr1 right outer join pr2 on (pr1.id = pr2.oid)
) a group by id1,dato1

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Edward W. Rouse 2008-08-19 18:03:48 Re: Join question
Previous Message Oliveiros Cristina 2008-08-19 15:17:00 Re: Join question