From: Abhishek <ajcool@gmail.com>
To: pgsql-sql@postgresql.org
Subject: combining records from a single table and presenting them as one record
Date: Thu, 27 Oct 2005 14:00:41 -0400
Message-ID: <506ca6630510271100y367e1fb2hfb05f5ecaae043a3@mail.gmail.com> (raw)
Hi Everyone
I have a table "TABLE1" which has
----------------------------------------------------
Callguid | digits | type
----------------------------------------------------
xxxx 123 'a'
xxxx 345 'b'
xxxx 678 'c'
type can have only 'a', 'b' or 'c' as its value.
I am tryng to write a query which returns me a record like this
-------------------------------------------------------------------------------------------------------
CallGuid | a type digits | b type digits | c type digits
-------------------------------------------------------------------------------------------------------
xxxx 123 345 678
I do the query as this:
select callguid , ( select digits from TABEL1 where type='a' ), ( select
digits from TABEL1 where type='b' ), ( select digits from TABEL1 where
type='c' ) from TABLE1;
result:
-------------------------------------------------------------------------------------------------------
CallGuid | a type digits | b type digits | c type digits
-------------------------------------------------------------------------------------------------------
xxxx 123 345 678
xxxx 123 345 678
xxxx 123 345 678
Note that I get the records which i wanted, but I get them duplicated. If I
use 'distinct' keyword I get the desired result with no duplication. But
'distinct' seems to be too expensive.
Is there any better way I can do this without compromising the performance
?
Your suggestions and input are very appreciated
Thanks
AJ
--
Abhishek Jain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: ajcool@gmail.com
Subject: Re: combining records from a single table and presenting them as one record
In-Reply-To: <506ca6630510271100y367e1fb2hfb05f5ecaae043a3@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox