Ver Mensaje Individual
  #11  
Antiguo 22-10-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Vale. No sé que ha cambiado en la BB.DD. o en el query pero finalmente he conseguido lo que buscaba y creo que el único cambio que he hecho juraría que ya lo había probado. El query ha quedado así:
Código SQL [-]
WITH Pivote AS (SELECT Estadistica, Grupo1, Grupo2, Grupo3, Dato1 
                  FROM Estadistica 
                 WHERE SUBSTRING(Estadistica FROM 1 FOR 1) = :Estadistica)
SELECT DISTINCT A.Grupo1, A.Grupo2, D.Dato1, E.Dato1
  FROM Estadistica A
  LEFT JOIN Pivote D ON A.Estadistica = D.Estadistica AND A.Grupo1 = D.Grupo1 AND A.Grupo2 = D.Grupo2 AND D.Grupo3 = 3
  LEFT JOIN Pivote E ON A.Estadistica = E.Estadistica AND A.Grupo1 = E.Grupo1 AND A.Grupo2 = E.Grupo2 AND E.Grupo3 = 4
 WHERE SUBSTRING(A.Estadistica FROM 1 FOR 1) = :Estadistica  
 ORDER BY 1, 2
Me he llevado fuera el DISTINCT que había enla tabla temporal y ahora si me sale una única fila. Sólo queda mejorarlo ya que la salida no tiene una número fijo de columnas y para eso si que es muy intereante un STORED PROCEDURE.
Responder Con Cita