Una consulta que se va a usar con un UNION no puede invocarse
jamás con asterisco, a menos que las otras consultas devuelvan la misma cantidad de columnas.
Eso es básico...
El requisito
sine qua non de UNION y UNION ALL es que todos los select tengan
exactamente la misma cantidad de columnas de salida.
Siempre.