- 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 | List courses for given resource - output param
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).
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. This database contains a table of resources called tblResource:
There are only 5 resources - each has a name and id
The database also contains a list of scheduled courses called tblSchedule, showing for each course which resources it uses:
The first course, for example, uses resources 574 and 595 - ie SPECIAL EQUIPMENT and a FLIP CHART
Write a stored procedure which:
- Takes in the name of a resource as a parameter
- Works out the id of this resource (or returns prematurely if the resource name doesn't exist in the tblResource table)
- Works out how many courses use this resource (see hint below), and returns this number
You can use either an output parameter or a return value to return the number (the example below uses both, which is definitely overkill):
This is what calling your stored procedure could look like
To work out which courses use a resource, add a comma before and after both the ResourceIds column value and the resource id that you're looking for - then it won't matter whether the resource that you're searching for is the first, last or only one in its list.
Optionally, save the query to generate this stored procedure as Resource course count.sql, then close it down.