EXERCISE TOPIC▼
SQL EXERCISES▼
SQL EXERCISES▼
- Simple Queries (4)
- Setting criteria using WHERE (5)
- Calculations (7)
- Calculations using dates (4)
- Basic joins (8)
- More exotic joins (2)
- Aggregation and grouping (8)
- Views (5)
- Subqueries (5)
- Stored procedures (5)
- Variables (8)
- Parameters and return values (11)
- Testing conditions (1)
- Looping (3)
- Scalar functions (6)
- Transactions (5)
- Creating tables (5)
- Temporary tables and table variables (9)
- Table-valued functions (6)
- Derived tables and CTEs (13)
- Dynamic SQL (4)
- Pivots (2)
- Triggers (2)
- Archived (70)
SQL | Archived exercise | Cursor - build up list of people names per course
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.
You can learn how to do this exercise on the relevant Wise Owl classroom training course (sadly for the moment only in the UK).
Software ==> | SQL (198 exercises) |
Version ==> | Any version of SQL Server |
Topic ==> | Archived (70 exercises) |
Level ==> | Harder than average |
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.
If you haven't already done so, run the stored procedure in the above folder to generate a database of training courses and delegates.
Create a stored procedure called spNames which takes a ScheduleId as input, and outputs a comma-delimited list of the people on this course - for example:

The output for schedule number 31, for example
Now write a query which:
- Creates a temporary table called #Schedules to hold the schedule id, start date, course name and list of people for each course of interest
- Uses a cursor to loop through the list of courses containing SQL in the name, calling the spNames procedure for each and adding one row to the #Schedules table
- Uses a SELECT statement to output the rows from the #Schedules table
The final output from running this query should be something like this:

The first few courses you should see listed
Optionally, save your work as List person names.sql, then close it down.