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 | Function to get courses for given resource name
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 ==> | Average difficulty |
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 multi-statement table-valued function (!) called fnCoursesForResources which - given a particular resource name - will return a table of courses which use that resource. Here's how this should work:

You can call the function with different resource names, to get different results
You may find it helpful to declare an integer variable called @ResourceId, and set this to hold the ID of the resource corresponding to the name passed in as an argument. You can then test to see if this equals null (which would mean the resource didn't exist).
Here are the first 3 of the 79 rows the function should return for a Projector:

This assumes you sort the data by course start date
Optionally, save this query as Courses for horses.sql, then close it down.