Re: Possible to do this in one query?

Поиск
Список
Период
Сортировка
От Ian Barwick
Тема Re: Possible to do this in one query?
Дата
Msg-id 200203270309.EAA29988@post.webmailer.de
обсуждение исходный текст
Ответ на Possible to do this in one query?  ("John Oakes" <john@networkproductions.net>)
Список pgsql-sql
On Tuesday 26 March 2002 19:22, John Oakes wrote:
> I have a table with a column that contains fail codes.  These codes are
> 1-9. I need to get a count of each of the codes.  Right now I have separate
> queries:
>
> select count(*) from tablename
> where failcode = '1';
>
> If I use GROUP BY it obviously doesn't get the count for codes that don't
> exist.  I need to have 0 returned though so I have a listing of all 9 fail
> codes and their total, even if it is zero.  I tried UNION like this:
>
> select count(*) from tablename
> where failcode = '1';
> UNION
> select count(*) from tablename
> where failcode = '2';
>
> etc, but it too excludes the codes that have a count of zero.  Right now I
> have resorted to using 9 separate queries.  Is there a way to do this with
> one?  Thank you!

If you have a seperate table containing all possible fail codes you can do 
something like this:

select fc.failcode, count(tn.failcode) 
from failcode_table fc
left join tablename tn 
on tn.failcode=fc.failcode
group by fc.failcode


Ian Barwick


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Kancha ."
Дата:
Сообщение: resetting sequence
Следующее
От: Philip Hallstrom
Дата:
Сообщение: Re: resetting sequence