Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

consulta muuuy dificil MULTITABLA sql

Estas en el tema de consulta muuuy dificil MULTITABLA sql en el foro de SQL Server en Foros del Web. pondre un ejemplo con datos para explicarme mejor @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original DECLARE @t TABLE ( Id INT IDENTITY , Linea INT , ...
  #1 (permalink)  
Antiguo 28/08/2014, 17:13
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 13 años, 4 meses
Puntos: 2
consulta muuuy dificil MULTITABLA sql

pondre un ejemplo con datos para explicarme mejor

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)


quiero mostrar todos los campos
pero si existe varios campo donde sea la misma linea el miso troquel y el mismo orden
entonces mostrar solo uno de esos EL QUE TENGA EL MENOS CUBREDIAS

hay un detalle,,eso quiero hacerlo en sql PERO REALMENTE LO NECESITO
en LINQ y ps si lo veo en SQL sera mas facil entenderlo para pasarlo a Linq

alguien si me puede ayudara porfavor.. :(
__________________
si siempre hay algo nuevo que aprender
  #2 (permalink)  
Antiguo 29/08/2014, 07:20
Avatar de 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
  #3 (permalink)  
Antiguo 01/09/2014, 10:49
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 13 años, 4 meses
Puntos: 2
Respuesta: consulta muuuy dificil MULTITABLA sql

woww muchas gracias Libras
estaba ciclado con esa consultaa, es justo lo que necesitaba hacer
muuuchas gracias amigo..
siempre tienes una buena respuesta :D
__________________
si siempre hay algo nuevo que aprender

Etiquetas: dificil, multitabla, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:56.