Well I came up with this, if anyone can suggest a proper way of doing this be my guest.
Code:
--WIP
DECLARE @id int
DECLARE @counter int
DECLARE @count int
SET @count = 0
SELECT @id = t.timeID, @counter = t.slots - (SELECT COUNT(*) FROM tTimeSlot INNER JOIN tRegistration ON tRegistration.timeID = tTimeSlot.timeID WHERE tTimeSlot.timeID = t.timeID)
FROM tTimeslot AS t
WHERE t.timeID = 1
CREATE TABLE #ttEmpty (
timeID int,
name varchar(100),
remaining int
)
INSERT INTO #ttEmpty (timeID, name, remaining)
SELECT t.timeID, r.name, t.slots - (SELECT COUNT(*) FROM tTimeSlot INNER JOIN tRegistration ON tRegistration.timeID = tTimeSlot.timeID WHERE tTimeSlot.timeID = t.timeID) AS remaining
FROM tTimeslot AS t
INNER JOIN tRegistration AS r ON t.timeID = r.timeID
WHERE t.timeID = 1
WHILE @count < @counter
BEGIN
SET @count = @count + 1
INSERT INTO #ttEmpty (timeID, name, remaining)
VALUES (@ID, '', 0)
END
SELECT * FROM #ttEmpty
DROP TABLE #ttEmpty