Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2008, 11:32
Avatar de pato_volador
pato_volador
 
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
Consulta a dos tablas, si no existe el registro que me devuelva nulo (u otra cosa)

Que tal, la verdad es que, no se bien como formular la pregunta, pero aqui va, espero ser mas o menos claro.

Tengo dos tablas con la siguiente informacion

Código:
TABLA personal

idpersonal
nombre
Una tabla mas

Código:
TABLA dato

iddato 
idpersonal // esta es una llave foranea para enlazar con la tabla personal
telefono
Los siguientes datos en cada una de las tablas

Código:
Tabla Personal

idpersonal  -  Nombre

1 - Juan Perez
2 - Chano Gomez
3 - Armando Hoyos
4 - Julian Agosto

----------------------

Tabla dato

iddato - idpersonal - telefono

1 - 1 - 7778487
2 - 2 - 1225411
Si hago la siguiente consulta

Código:
select personal.nombre, dato.telefono
from personal,dato
where personal.idpersonal = dato.idpersonal;
Me devuelve el siguiente resultado:

Código:
idpersonal - personal.nombre - dato.telefono

1 - Juan Perez - 7778487
2 - Chano Gomez - 1225411
Lo que me gustaría obtener es lo siguiente:

Código:
1 - Juan Perez - 7778487
2 - Chano Gomez - 1225411
3 - Armando Hoyos - No tiene telefono
4 - Julian Agosto - No tiene telefono
He intentado lo siguiente, pero no me pitufa

Código:
select personal.nombre,

if(personal.idpersonal in (select idpersonal from dato),dato.telefono,'No tiene telefono') as telefono

from personal,dato

where personal.idpersonal = dato.idpersonal
Asi que...... alguien sabe como hacer esto?

Gracias, saludos y un Cuaaack! para todos.
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com