Ver Mensaje Individual
  #4  
Antiguo 28-05-2003
j2mg j2mg is offline
Registrado
 
Registrado: may 2003
Posts: 4
Reputación: 0
j2mg Va por buen camino
Bueno veamos este ejemplo

telefonos codper codide telefono
4 1 1111
4 2 2222
4 3 3333

direcciones codper codide direccion
4 1 calle1
4 4 calle 4
la consulta:
select t.codide, t.telefono, d.direccion
from telefonos t left join direcciones d
on t.codide=d.codide
where t.codper=4 and d.codper=4

que es del estilo de las que me propones, solo logra obtener el registro presente en las dos tablas de codide=1

igual que esta otra mas sencilla:
select t.codide, t.telefono, d.direccion
from telefonos t left join direcciones d
on t.codide=d.codide
where t.codper=4 and d.codper=4
pero como lo que pretendo obtener es

t.codide telefono direccion d.codide
1 1111 calle 1 1
2 2222 null null
3 3333 null null
null null calle 2 4

es como si faltaran sucesivamente tras dos consultas sencillas...

select codide, telefono
from telefonos
where codper=4 and codide not in
(select codide from direcciones where codper=4)

que devuelve los dos telefonos sin direccion y


select codide, direccion
from direcciones
where codper=4 and codide not in
(select codide from telefonos where codper=4)

que entrega la direccion sin telefono.........

Lo que no se hacer es lograrlo de una sola consulta

¿Puedes echarme otra mano?

Gracias Juan

(Si estaré torpe que es la segunda vez que lo pierdo)
Responder Con Cita