Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 850
  • Last Modified:

Convert rows to columns

Hi,

I have a SP that produces this output:

YearWeek Shift TotalTime
--------- ------ -----------
2011/11   <NULL> 600        
2011/11   1      14875      
2011/11   2      2430        
2011/11   3      1445        
2011/11   4      12540      
2011/12   1      14540      
2011/12   2      2165        
2011/12   3      1580        
2011/12   4      9110        
2011/13   1      15455      
2011/13   2      2430        
2011/13   3      1580        
2011/13   4      17810      
2011/14   1      11385      
2011/14   2      1955        
2011/14   3      1520        
2011/14   4      14840      
...


Now I want to put the weeks in columns, like this:

Shift       2011/11  2011/12  2011/13  2011/14  2011/15 ...
<NULL>       600                          ...
1                14875    14540         ...
2                 2430      2165          ...
3                 1445      1580          ...
4                12540     9110          ...

I don't know how many colums I will have.

Any help? I'm trying some solutions that I have found on web but with no luck.

Thanks
Jorge Paulino
0
jpaulino
Asked:
jpaulino
  • 2
2 Solutions
 
Asim NazirCommented:
HI,

You can use Pivot for this purpose. Please read http://msdn.microsoft.com/en-us/library/ms177410(v=SQL.90).aspx for details.

Asim
0
 
jpaulinoAuthor Commented:
Thanks for the quick reply, but the problem is that I don't know how many columns I will have.  
0
 
Asim NazirCommented:
0
 
Kent OlsenData Warehouse Architect / DBACommented:
Hi jpaulino,

There are a couple of articles on the DB2 forum that describe recursive SQL and how to use it for converting row to columns, or columns to rows.  Except for DB2 using the double-pipe (||) and SQL Server using plus (+) for concatenation, the syntax is the same for DB2 and SQL Server.

The technique will work for you if you can't use pivot tables.

  http://www.experts-exchange.com/Database/DB2/A_3618-Recursive-SQL-in-DB2-Converting-rows-to-columns.html

  http://www.experts-exchange.com/Database/DB2/A_3629-Recursive-SQL-in-DB2-Converting-Columns-to-Rows.html


Good Luck,
Kent
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now