devxlogo

Creating a Crosstab

Creating a Crosstab

Question:
How can I create a crosstab in SQL Server 7.0? I’m used to Microsoft Access, where I can use columnheading and rowheading. Does this work in SQL?

Answer:
This type of processing is best reserved for your application layer, not the data layer. There is a way to do it, but it is clunky and demands that you know in advance how many columns you need to create to express you result.

Let’s say you need to do a crosstab of months. The technique rests on the CASE statement and looks like this:

 SELECT month = CASE WHEN "January" THEN 1               CASE WHEN "February" THEN 2endfrom t1

devx-admin

Share the Post: