>This one is something that I'm sure database developers have run into. Data stored in columns that ideally should be stored in rows.
>
>I'll keep the example very basic.
>
>
create table dbo.SalesTemp (SalesManID varchar(10), Jan decimal(14,4), Feb decimal(14,4), Mar decimal(14,4))
>insert into SalesTemp values ('Salesman A', 100, 200, 300),
> ('Salesman B', 400, 500, 600)
>
>One row for each Salesman ID, and columns for monthly sales. Normally it would probably be more than 3 columns but just keeping it simple.
>
>We want the result set to look like this:
>
>SalesManID MonthName MonthlySales
>Salesman A Feb 200.0000
>Salesman A Jan 100.0000
>Salesman A Mar 300.0000
>Salesman B Feb 500.0000
>Salesman B Jan 400.0000
>Salesman B Mar 600.0000
>
>There are (at least) two ways to do this, with potentially significant differences in execution plan and performance. I'm sure someone like Naomi can write these in her sleep, but anyone want to take a crack? I use this one as an example in SQL sessions to demonstrate a language feature added in SQL 2005 that doesn't always get as much attention as it should.
Smells like UNION ALL... but I'm sure you're refering to something else.