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

[SOLUCIONADO] Duda de varios inner join

Estas en el tema de Duda de varios inner join en el foro de SQL Server en Foros del Web. Mi duda es porque al momento de realizar esta consulta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT @INCREMENTO_ACUMULADO = SUM ( incremento_esta ) FROM ( ...
  #1 (permalink)  
Antiguo 18/06/2013, 12:26
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 11 años, 6 meses
Puntos: 5
Duda de varios inner join

Mi duda es porque al momento de realizar esta consulta
Código SQL:
Ver original
  1. SELECT @INCREMENTO_ACUMULADO= SUM(incremento_esta) FROM(( estimaciones a INNER JOIN presupuesto b ON a.id_presupuesto = b.id_presupuesto)
  2. INNER JOIN contrato c ON b.id_contrato=c.id_contrato )
  3. WHERE  b.id_presupuesto= (SELECT id_presupuesto FROM  presupuesto WHERE nombre_presupuesto ='PRUEBA PARA MODIFICAR PRESUPUESTO'  )
  4. AND c.id_contrato =(SELECT id_contrato FROM convenio WHERE tipo='incremento' AND clave_convenio='123/123/123-5'  )

me multiplica por la cantidad de convenio

AYUDAA!!!!
  #2 (permalink)  
Antiguo 18/06/2013, 12:28
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: Duda de varios inner join

puedes poner un pequeño ejemplo de tus datos??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/06/2013, 12:35
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 11 años, 6 meses
Puntos: 5
Respuesta: Duda de varios inner join

Cita:
Iniciado por aid_val Ver Mensaje
Mi duda es porque al momento de realizar esta consulta
Código SQL:
Ver original
  1. SELECT @INCREMENTO_ACUMULADO= SUM(incremento_esta) FROM(( estimaciones a INNER JOIN presupuesto b ON a.id_presupuesto = b.id_presupuesto)
  2. INNER JOIN contrato c ON b.id_contrato=c.id_contrato )
  3. WHERE  b.id_presupuesto= (SELECT id_presupuesto FROM  presupuesto WHERE nombre_presupuesto ='PRUEBA PARA MODIFICAR PRESUPUESTO'  )
  4. AND c.id_contrato =(SELECT id_contrato FROM convenio WHERE tipo='incremento' AND clave_convenio='123/123/123-5'  )

me multiplica por la cantidad de convenio

AYUDAA!!!!
ESTA CONSULTA ME LO TRAE BINE PERO YO QUIERO LLEGAR HASTA MI TABLA CONVENIO

Código SQL:
Ver original
  1. SELECT @INCREMENTO_ACUMULADO= SUM(incremento_esta) FROM((( estimaciones a INNER JOIN presupuesto b ON a.id_presupuesto = b.id_presupuesto)
  2. INNER JOIN contrato c ON b.id_contrato=c.id_contrato )INNER JOIN convenio d ON c.id_contrato = d.id_contrato)
  3. WHERE  b.id_presupuesto= (SELECT id_presupuesto FROM  presupuesto WHERE nombre_presupuesto ='PRUEBA PARA MODIFICAR PRESUPUESTO'  )
  4. AND c.id_contrato =(SELECT id_contrato FROM convenio WHERE tipo='incremento' AND clave_convenio='123/123/123-5'  )

el resultado de la primera es

45

y del segundo es

135
  #4 (permalink)  
Antiguo 18/06/2013, 14:00
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: Duda de varios inner join

creo que deberias de limitar un poco mas tus filtros.....porque si dices que te duplica cuando pones la de convenio entonces en convenio es donde esta agarrando valores de mas no seria tambien esto:

INNER JOIN convenio d ON (c.id_contrato = d.id_contrato and d.clave_convenio='123/123/123-5')

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 18/06/2013, 14:19
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 11 años, 6 meses
Puntos: 5
Respuesta: Duda de varios inner join

Woralee muchas gracias si funciona y no sabía que eso se podia hacer...

Mil gracias
  #6 (permalink)  
Antiguo 18/06/2013, 14:24
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: Duda de varios inner join

de nada :) un placer
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: join, select
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 13:14.