Outer Join en informix
Publicado por Vasu (3 intervenciones) el 24/05/2007 23:13:20
Hola, estoy liado con una query y no se si es posible hacer lo que quiero hacer ... os explico:
Tengo 4 tablas: A B C D ... todas se relacionan por el id de A ( idA ). Necesito sacar los datos de A, B, C y D aunque en B, C o D no existan datos ( me saque los campos correspondientes a la tabla que está en blanco si no existe ) ...
Las tablas tendrían esta "estructura"
A
idA = 1
CampoA = 2
B
idA = 1
idB = 2
CampoB = 3
C
idA = 1
idC = 2
CampoC = 3
D
idA = 2
idD = 2
A siempre va a existir con registros.
Pues necesito sacar una query que me saque los campos de A, B, C y D cuando idA = 1 es decir:
A.idA A.CampoA B.idB B.CampoB C.idC C.CampoC D.idD
1 2 2 3 2 3
Lo único que he conseguido es hacer que si, en alguna d las tablas no hay registro, me saque los valores de A y el resto vacíos
Era algo así:
SELECT * FROM
{oj A LEFT OUTER JOIN B,C,D ON
A.idA = B.idA AND
A.idA = C.idA and
A.ida = D.idD}
Esto me saca algo así:
A.idA A.CampoA B.idB B.CampoB C.idC C.CampoC D.idD ( todos los campos ... )
1
A ver si alguien ha entendido la "parrafada" y me ilumina
Muchas gracias !
Tengo 4 tablas: A B C D ... todas se relacionan por el id de A ( idA ). Necesito sacar los datos de A, B, C y D aunque en B, C o D no existan datos ( me saque los campos correspondientes a la tabla que está en blanco si no existe ) ...
Las tablas tendrían esta "estructura"
A
idA = 1
CampoA = 2
B
idA = 1
idB = 2
CampoB = 3
C
idA = 1
idC = 2
CampoC = 3
D
idA = 2
idD = 2
A siempre va a existir con registros.
Pues necesito sacar una query que me saque los campos de A, B, C y D cuando idA = 1 es decir:
A.idA A.CampoA B.idB B.CampoB C.idC C.CampoC D.idD
1 2 2 3 2 3
Lo único que he conseguido es hacer que si, en alguna d las tablas no hay registro, me saque los valores de A y el resto vacíos
Era algo así:
SELECT * FROM
{oj A LEFT OUTER JOIN B,C,D ON
A.idA = B.idA AND
A.idA = C.idA and
A.ida = D.idD}
Esto me saca algo así:
A.idA A.CampoA B.idB B.CampoB C.idC C.CampoC D.idD ( todos los campos ... )
1
A ver si alguien ha entendido la "parrafada" y me ilumina
Muchas gracias !
Valora esta pregunta


0