SQL | Pivots exercise | Use dynamic SQL to show PIVOT query column headers

This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.

Software ==> SQL  (198 exercises)
Version ==> Any version of SQL Server
Topic ==> Pivots  (2 exercises)
Level ==> Harder than average
Subject ==> SQL training
Before you can do this exercise, you'll need to download and unzip this file (if you have any problems doing this, click here for help). Once you've done this:
  1. Go into SQL Server Management Studio;
  2. Open the SQL file you've just unzipped (you can press CTRL + O to do this); then
  3. Execute this script.

This will generate the database that you'll need to use in order to do this exercise (note that the database and script are only to be used for exercises published on this website, and may not be reused or distributed in any form without the prior written permission of Wise Owl).

You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

Take a deep breath before doing this exercise! 

Create and set the value of a variable to hold the first word of each episode type in the tblEpisode table:

Variable of episode types

What your variable should be set to contain.


You can use the CHARINDEX function to find the first instance of a space within each episode type, although there are other ways to get at the first word of each entry.  You'll need to use DISTINCT or GROUP BY to show only one value for each episode type.

Separately, write a query to show the first word of each episode type, along with the episode's doctor name and id, and pivot this to show the following:

Episodes by doctor

The number of episodes by doctor, for Normal and Christmas editions.


Since it would be tedious writing the episode types out longhand (and they may change in the future) combine your two queries to get a single one using dynamic SQL to show all of the episode types:

Episodes with dynamic SQL

The final query should show these results.

Save this query as Hmmm, then close it down. 

You can unzip this file to see the answers to this exercise, although please remember this is for your personal use only.
This page has 0 threads Add post