Also was mir mal auffällt ist, dass ihr da die Funktion CONVERT verwendet, die es in SQL nicht gibt. Hier einfach ein CAST verwenden.

Des weiteren dürfte es hier was fehlen, denn nach einem AND ... gleich ein SELECT kann auch nicht beim SQL Server funktionieren.

... and t.DefClassToDate
select distinct ...

Wenn Schulungen nicht genehmigt werden, muss man ab einen gewissen Punkt Hilfe extern dazukaufen.
Bei so einem langen SQL (ohne auch noch die entsprechenden Daten zu haben) ist es schon etwas sehr aufwändig da sich im Detail zu beschäftigen.