Ver Mensaje Individual
  #5  
Antiguo 19-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
He estado dando vueltas por todos lados (es una forma de hablar ) y he encontrado varias respuestas que apuntan en la dirección que quiero ir; casi todas ellas hablan de las CTE. Encontré una sugerencia de fjcg02 que la verdad sea dicha me ha gustado (con un procedimiento) pero tengo que estudiarla a fondo. Antes de implementar nada nuevo he estado probando otra sugerencias que vienen en ese hilo, pero la que más parece aproximarse a mi problema o no estoy desarrollándola bien o no acabo de entenderla.


La tabla tiene, entre otros muchos, estas dos filas:


Estoy usando este código:
Código SQL [-]
WITH Pivote AS (SELECT DISTINCT Estadistica, Grupo1, Grupo2, Grupo3, Dato1 FROM Estadistica)
SELECT A.Grupo1, A.Grupo2, B.Grupo3, B.Dato1, C.Grupo3, C.Dato1
  FROM Estadistica A
  LEFT JOIN Pivote B ON A.Estadistica = B.Estadistica AND A.Grupo1 = B.Grupo1 AND A.Grupo2 = B.Grupo2 AND B.Grupo3 = 3
  LEFT JOIN Pivote C ON A.Estadistica = C.Estadistica AND A.Grupo1 = C.Grupo1 AND A.Grupo2 = C.Grupo2 AND C.Grupo3 = 4
 WHERE SUBSTRING(A.Estadistica FROM 1 FOR 1) = :Estadistica 
  ORDER BY 1, 2
Todos los campos de la tabla son del tipo INTEGER. Al ejecutar esa consulta, entre otras muchas filas, me devuelve esto:


Me devuelve dos filas iguales, y lo hace siempre que para un valor único de la combinación Grupo1-Grupo2 hay más de un posible valor en Grupo3 y es evidente que lo que yo busco es que me devuelva una única fila. ¿alguna sugerencia?

Última edición por Casimiro Notevi fecha: 19-10-2018 a las 20:01:57. Razón: Etiquetas sql
Responder Con Cita