Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/08/2014, 07:20
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: consulta muuuy dificil MULTITABLA sql

consulta muuuy dificil resuelta en aprox 5 min.....

Código SQL:
Ver original
  1. DECLARE @t TABLE (Id INT IDENTITY,
  2. Linea INT,
  3. Troquel INT,
  4. Parte INT,
  5. Orden INT,
  6. CubreDia INT)
  7.  
  8. INSERT INTO @t VALUES (1, 1, 1, 4, 5)
  9. INSERT INTO @t VALUES (1, 1, 2, 1, 6)
  10. INSERT INTO @t VALUES (1, 1, 1, 1, 2)
  11. INSERT INTO @t VALUES (1, 2, 1, 1, 2)
  12.  
  13. INSERT INTO @t VALUES (1, 1, 1, 1, 10)
  14. INSERT INTO @t VALUES (1, 1, 1, 1, 50)
  15. INSERT INTO @t VALUES (1, 1, 1, 1, 1)
  16.  
  17. INSERT INTO @t VALUES (2, 3, 1, 4, 15)
  18. INSERT INTO @t VALUES (2, 4, 1, 1, 26)
  19.  
  20. SELECT t1.* FROM @t AS t1
  21. LEFT JOIN
  22. (SELECT linea,troquel,orden,MIN(CubreDia) AS cubredia FROM @t GROUP BY linea,troquel,orden) AS t2 ON (t1.linea=t2.linea AND t1.Troquel=t2.troquel AND t1.Orden=t2.orden AND t1.CubreDia=t2.cubredia)
  23. WHERE t2.linea IS NOT NULL AND t2.Troquel IS NOT NULL AND t2.Orden IS NOT NULL AND t2.cubredia IS NOT NULL

Creo que la dificultad depende de quien se enfrente a la situacion, para mi una consulta dificil es aquella que no se deja optimizar :S y que no puedo agregarle indices jejejejeje
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me