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 qty END) as "qty incoming",
       max(price) as "highest price",
       min(eta) as eta
group by part,mfg;

gnari



---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to