- 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 | Fn to count trainer ids
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.
Each row in the tblSchedule table contains a column called TrainerIds, giving details of who is assigned to train on the course:
Scheduled course 1, for example, has trainers number 21 and 93 assigned to it
We will create a function called fnCountIds to count how many trainers there are assigned to each course (note that exactly the same function could also count how many resources are assigned). The following code excerpt contains an idea to help you do this:
Count the number of trainers by seeing how long the string of ids is with and without its commas, and then taking the difference between these two numbers
Incorporate your function in a query to count the number of trainers assigned to a course:
The first few rows of the final query, sorted by course start date
Optionally, save the code to generate your function as Count trainers.sql, then close it down.