From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | RPK <rpk(dot)general(at)gmail(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: SQL query to display like this |
Date: | 2007-08-24 11:36:05 |
Message-ID: | 46CEC2A5.9090706@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
RPK wrote:
> select PaySlipDate,EmpID,
> case ADCode when 'GPF' then ADAmount else 0 end GPF,
> case ADCode when 'GPF.ADV' then ADAmount else 0 end 'GPF.ADV'
> from EmpSalaryRecord
>
> It is showing like this:
>
> Date EmpID GPF GPF.ADV
> -----------------------------------------
> 01-Jul-07 101 0 0
> 01-Jul-07 101 150 0
> 01-Jul-07 102 0 100
> 01-Jul-07 103 0 0
> 01-Jul-07 103 1000 0
> 01-Jul-07 103 0 1000
>
> It is showing multiple records of each employee for each date.
No it's not. It's showing 2 records for empid=101, 3 for empid=103 but
only 1 for empid=102. That says to me you have multiple rows in your
table for each (date,empid) combination.
If you want to eliminate them, either filter on AdCode or perhaps SUM()
your GPF/GPF.ADV colums.
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Joseph Krogh | 2007-08-25 15:10:57 | Returning array of IDs as a sub-query with group-by |
Previous Message | RPK | 2007-08-24 10:42:55 | SQL query to display like this |