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

Left join, right join

Estas en el tema de Left join, right join en el foro de SQL Server en Foros del Web. wenas .. amigos Kisiera que me respondan a esta duda q tengo .. E visto en varias comentarios de la web .. El uso del ...
  #1 (permalink)  
Antiguo 28/06/2010, 18:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 117
Antigüedad: 14 años, 2 meses
Puntos: 0
Sonrisa Left join, right join

wenas .. amigos Kisiera que me respondan a esta duda q tengo ..

E visto en varias comentarios de la web .. El uso del left join y Right join .. La cual yo solo se usar el inner join ..

Me podrian decir que son y para que sirven Los LEFT JOIN y RIGHT JOIN y si no fuera molestia un ejemplo


Agradeceria su Respuesta .. Gracias
  #2 (permalink)  
Antiguo 29/06/2010, 05:03
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Left join, right join

Hola,
con este ejemplo creo que podrás comprenderlo facilmente.
Espero te sea de ayuda, un saludo.

http://es.wikipedia.org/wiki/Join
  #3 (permalink)  
Antiguo 30/06/2010, 11:11
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Left join, right join

Aca esta un poco mas grafico: http://www.devjoker.com/contenidos/c...das-JOINS.aspx
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 02/07/2010, 21:26
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Left join, right join

Cita:
Iniciado por Vega19 Ver Mensaje
wenas .. amigos Kisiera que me respondan a esta duda q tengo ..

E visto en varias comentarios de la web .. El uso del left join y Right join .. La cual yo solo se usar el inner join ..

Me podrian decir que son y para que sirven Los LEFT JOIN y RIGHT JOIN y si no fuera molestia un ejemplo


Agradeceria su Respuesta .. Gracias
Me agrada siempre tus ganas de aprender... Ya sabes Todo lo aprendido es por lo preguntado , y todo lo hecho es por lo practicado......
  #5 (permalink)  
Antiguo 05/07/2010, 07:37
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Left join, right join

excelente manual de JOIN, lo pondre en MIS FAVORITOS... para tenerlo a la mano!!! Saludos...
  #6 (permalink)  
Antiguo 14/09/2010, 09:59
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Left join, right join

hola amigos, quisiera que me den una mano en un querys, sucede q estoy usando el left join por ejemplo en la tabla 2 si tiene 2 valores le digo que me sume y muestre esa cantidad, si me muestra y bien , pero tambien tengo dos campos en la tabla1 que se suman y ahi viene el detalle, si la tabla 2 tiene 2 valores entonces la la suma de los campos de la tabla 1 se suman 2 veses.
Si el dato de la tabla 2 tiene 3 registros entonces los campos de la tabla 1 se van a sumar 3 veses. le dejo mi query para que lo vean y me indiquen en que estoy fallando.... sql server 2008,
enormemente agradecido...
-----------------------------------------
select gasto.FUENTE_FINANC as fuente, fuente.nombre,
gasto.CATEG_GASTO+'.'+gasto.GRUPO_GASTO+'.'+gasto. MODALIDAD_GASTO+'.'+gasto.ELEMENTO_GASTO+'.'+gasto .ELEMENTO_A+'.'+gasto.ELEMENTO_B as especifica,
sum(PRESUPUESTO + MODIFICACION) as PIM,
sum(calend.MONTO) as EJECUCION,
sum(gasto.PRESUPUESTO+gasto.MODIFICACION - calend.MONTO) as saldo,
0 as minn, 0 as addd, 0 as newSaldo
from desarrollo_prueba.gasto as gasto

left outer join desarrollo_prueba.ESPECIFICA_META_CALENDARIO as calend
on calend.ano_eje=gasto.ano_eje and calend.meta=gasto.sec_func
and calend.FUENTE=gasto.FUENTE_FINANC
and calend.CATEGORIA=gasto.CATEG_GASTO and calend.GRUPO=gasto.GRUPO_GASTO
and calend.MODALIDAD=gasto.MODALIDAD_GASTO and calend.ELEMENTO=gasto.ELEMENTO_GASTO
and calend.ELEMENTO_A=gasto.ELEMENTO_A and calend.ELEMENTO_B=gasto.ELEMENTO_B

join desarrollo_prueba.FUENTE_FINANC as fuente
on gasto.FUENTE_FINANC = fuente.fuente_financ
and gasto.ANO_EJE= fuente.ano_eje

where gasto.ano_eje=2010 and gasto.SEC_FUNC=0006

group by fuente.nombre,gasto.FUENTE_FINANC,gasto.CATEG_GAST O,gasto.GRUPO_GASTO,gasto.MODALIDAD_GASTO
,gasto.ELEMENTO_GASTO,gasto.ELEMENTO_A,gasto.ELEME NTO_B

order by gasto.FUENTE_FINANC
  #7 (permalink)  
Antiguo 14/09/2010, 10:58
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Left join, right join

Si la tabla desarrollo_prueba.ESPECIFICA_META_CALENDARIO, contiene mas de un registro, convendria que hicieras un SUB-SELECT con DISTINCT y hacer tu JOIN
__________________
MCTS Isaias Islas
  #8 (permalink)  
Antiguo 14/09/2010, 11:54
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Left join, right join

Cita:
Iniciado por iislas Ver Mensaje
Si la tabla desarrollo_prueba.ESPECIFICA_META_CALENDARIO, contiene mas de un registro, convendria que hicieras un SUB-SELECT con DISTINCT y hacer tu JOIN
Gracias por responderme, puedes hacer un ejemplo por favor con la subconsulta???

enormemente agradecido
  #9 (permalink)  
Antiguo 14/09/2010, 12:17
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Left join, right join

opsssss, bueno.....

Código SQL:
Ver original
  1. INNER JOIN
  2. (
  3. SELECT DISTINCT ano_eje, meta, FUENTE, CATEGORIA,GRUPO, MODALIDAD, ELMENTO, ELEMENTO_A, ELEMENTO_B
  4. FROM desarrollo_prueba.ESPECIFICA_META_CALENDARIO) AS calend
  5. ON calend.ano_eje = gasto.ano_eje
  6. AND calend.meta = gasto.sec_func
  7. AND calend.FUENTE = gasto.FUENTE_FINANC
  8. AND calend.CATEGORIA = gasto.CATEG_GASTO
  9. AND calend.GRUPO = gasto.GRUPO_GASTO
  10. AND calend.MODALIDAD = gasto.MODALIDAD_GASTO
  11. AND calend.ELEMENTO = gasto.ELEMENTO_GASTO
  12. AND calend.ELEMENTO_A = gasto.ELEMENTO_A
  13. AND calend.ELEMENTO_B = gasto.ELEMENTO_B
__________________
MCTS Isaias Islas

Etiquetas: join, left
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 20:19.