You are looking for what is commonly referred to as a "pivot-table" or a "cross-tab". Pivot-tables are a fairly sophisticated, non-normalized view of a dataset, nd most commonly appear in spreadsheets and are used for financial or statistical analysis.
These queries typically use an aggregate function (sum, min, max, etc....) and a "group by" clause when generated from an SQL query... There are lots of decent tutorials / samples out there (Google for "Pivot Table SQL" and you'll see...) http://www.windowsitpro.com/Files/09/15608/Listing_01.txt http://mail.python.org/pipermail/python-list/2005-February/264233.html "Henry Ortega" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >I have the ff table: > > id | total | effective | end_date > john 6 01-01-2005 02-28-2005 > john 8 03-01-2005 06-30-2005 > > How can I return: > id | total | effective | end_date > john 6 01-01-2005 01-31-2005 > john 6 02-01-2005 02-28-2005 > john 8 03-01-2005 03-31-2005 > john 8 04-01-2005 04-30-2005 > john 8 05-01-2005 05-31-2005 > john 8 06-01-2005 06-30-2005 > > Any help would be appreciated. Thanks > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend