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 по дате отправления: