Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Consulta sobre left / Right outer join

Supongamos que tengo dos tablas iguales:
Código:
Tabla A
Referencia     Importe
A1               100
A2               110
A3               120

Tabla B
Referencia     Importe
A1               200
A2               210
A4               220
Y quiero obtener como resultado de un query:
Código:
Referencia     ImporteA     ImporteB
A1               100             200
A2               110             210
A3               120             NULL 
A4               NULL            220
Si utilizo un left outer join (o right), consigo que me de los resultados considerando todos los campos de una tabla, pero no de las dos tablas. Es decir, con la instrucción:
Código SQL [-]
Select A.Referencia, A.Importe, B.Importe
from TablaA A left outer join TablaB B on A.Referencia=B.Referncia
Consigo como resultado solamente:
Código:
 Referencia     ImporteA     ImporteB
 A1               100             200
 A2               110             210
 A3               120             NULL
Pero me faltaría lo de la tabla B.

¿Alguna idea de que es lo que tengo que consultar/buscar/investigar para lograr el resultado que deseo?
__________________


Última edición por ContraVeneno fecha: 05-07-2006 a las 20:29:20.
Responder Con Cita
  #2  
Antiguo 06-07-2006
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Prueba con
Código SQL [-]
Select A.Referencia, A.Importe, B.Importe
from TablaA A full outer join TablaB B on A.Referencia=B.Referncia
Responder Con Cita
  #3  
Antiguo 06-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Gracias, eso era lo que necesitaba.

Y solo para dar el resultado como se deseaba exactamente:

Código SQL [-]
select case when A.Referencia is null then B.Referencia else A.Referencia end Referencia,
 A.Importe, B.Importe
from temptableA A full outer join TempTableB B on A.Referencia=B.Referencia

Gracias
__________________

Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
usando LEFT JOIN o RIGHT JOIN alcides SQL 8 03-05-2007 18:35:46
Duplicados con LEFT OUTER JOIN Cabanyaler MS SQL Server 11 17-11-2005 09:46:23
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 19:06:27
Como hago este left outer join sagravelbio Firebird e Interbase 1 22-01-2004 17:05:03
Left Outer Join en MSSQL Viet SQL 5 26-08-2003 22:24:25


La franja horaria es GMT +2. Ahora son las 09:18:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi