• Here are the create/insert statements I used in my example:

    drop table Queue

    drop table Tasks

    drop table QueueTaskLink

    CREATE TABLE Queue(

    QueueId INT NOT NULL PRIMARY KEY IDENTITY(1,1),

    MaximumQueueLength INT NOT NULL)

    CREATE TABLE Tasks(

    TaskId INT NOT NULL PRIMARY KEY IDENTITY(1,1),

    TaskName NVARCHAR(100) NOT NULL,

    RunDatetime DATETIME NOT NULL)

    CREATE TABLE QueueTaskLink(

    QueueTaskLinkId int NOT NULL PRIMARY KEY IDENTITY(1,1),

    QueueId INT NOT NULL,

    TaskId INT NOT NULL)

    INSERT INTO Queue (MaximumQueueLength) VALUES (3) --QueueId 1

    INSERT INTO Queue (MaximumQueueLength) VALUES (5) --QueueId 2

    INSERT INTO Queue (MaximumQueueLength) VALUES (1) --QueueId 3

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES ('Excel Export 1', GETDATE()+1)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES ('Excel Export 2', GETDATE()+2)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Excel Export 3', GETDATE()+3)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES ('Big Export 1', GETDATE())

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Big Export 2', GETDATE()+1)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES ('Big Export 3', GETDATE()+2)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES ('Excel Export 4', GETDATE()+4)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Excel Export 5', GETDATE()+5)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report A', GETDATE()+6)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report B', GETDATE()+7)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report C', GETDATE()+8)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report D', GETDATE()+9)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report E', GETDATE()+1)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report F', GETDATE()+2)

    INSERT INTO Tasks (TaskName, RunDatetime) VALUES('Report G', GETDATE()+3)

    insert QueueTaskLink values(1,1)

    insert QueueTaskLink values(1,2)

    insert QueueTaskLink values(1,3)

    insert QueueTaskLink values(1,7)

    insert QueueTaskLink values(1,8)

    insert QueueTaskLink values(2,9)

    insert QueueTaskLink values(2,10)

    insert QueueTaskLink values(2,11)

    insert QueueTaskLink values(2,12)

    insert QueueTaskLink values(2,13)

    insert QueueTaskLink values(2,14)

    insert QueueTaskLink values(2,15)

    insert QueueTaskLink values(3,6)

    insert QueueTaskLink values(3,5)

    insert QueueTaskLink values(3,4)

    Cheers