Añado algunos datos más ... para complicarlo aún mas ...
La consulta inicial es la unión de tres Select individuales. Por ello no puedo meter una unión más como principal para obtener el resultado que deseo, tal y como comentamos anteriormente.
Además, finalmente no puedo hacer lo que pretendo en un Stored Procedure porque además tengo que comprobar unos datos que tengo en memoria, en concreto, en unas 5000 celdas de un StringGrid (65 columnas x 80 filas).
Pasar todo ese cálculo a un SP, con consultas SQL adicionales sobre tablas temporales, sin duda alguna aumentaría el tiempo de proceso frente a hacer las oportunas comprobaciones sobre el StringGrid que tengo en memoria.
Vamos ... un buen lío !!