Union hat mit einer Vereinigungsmenge nur bedingt was zu tun. Bei Union geht man davon aus, daß diverse gleich aufgebaute Teil-Datenmengen bereits existieren. Ist das der Fall, dann kann man die tatsächlich quasi "zusammenkippen" und hat nur noch eine. Vielleicht geht das mit INNER JOIN, aber Dein Problem besteht
IMHO darin, daß Riesen-Dinger zusammengebaut werden, z.B. wozu als Parameter ein VARCHAR (10000) und an anderer Stelle 9-fache Joins ?
Tip : im Zweifel auf Join verzichten und lieber längere Sachen zusammenbauen mit where, and, or usw. Wer schreiben lernen will fängt auch nicht zuerst mit Schreibmaschine an und kann nicht mal lesen.