Re: select & group by
От | Ragnar Hafstað |
---|---|
Тема | Re: select & group by |
Дата | |
Msg-id | 1112611630.19933.6.camel@localhost.localdomain обсуждение исходный текст |
Ответ на | select & group by ("Michael L. Hostbaek" <mich@the-lab.org>) |
Ответы |
Re: select & group by
|
Список | pgsql-sql |
On Mon, 2005-04-04 at 12:16 +0200, Michael L. Hostbaek wrote: > I've got a problem selecting some specific data from my table. Imagine > the following rows: > > part | mfg | qty | price | eta > --------------------------------------- > TEST1 ABC 10 100 (No ETA, as item is in stock) > TEST1 ABC 12 120 04/04 > TEST2 CBA 17 10 05/05 > TEST2 CBA 10 20 (No ETA, as item is in stock) > > I'd like my selection to produce the following result: > > part | mfg | qty | qty incoming | highest price | eta > ------------------------------------------------------------- > TEST1 ABC 10 12 120 04/04 > TEST2 CBA 10 17 20 05/05 > > Any clues on how to do this ? I kow the group by part, mfg, max(price) - > but I do not know how to deal with the splitting up qty and stock qty > and incoming qty. use CASE. for example, something like: select part,mfg, sum(CASE WHEN eta is NULL then qty ELSE 0 END) as qty, sum(CASE WHEN eta is NULL then 0 ELSE qtyEND) as "qty incoming", max(price) as "highest price", min(eta) as eta group by part,mfg; gnari
В списке pgsql-sql по дате отправления: