Re: SQL query to display like this - Mailing list pgsql-sql

From Richard Huxton
Subject Re: SQL query to display like this
Date
Msg-id 46CEC2A5.9090706@archonet.com
Whole thread Raw
In response to SQL query to display like this  (RPK <rpk.general@gmail.com>)
List 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


pgsql-sql by date:

Previous
From: RPK
Date:
Subject: SQL query to display like this
Next
From: Andreas Joseph Krogh
Date:
Subject: Returning array of IDs as a sub-query with group-by