consulta sql

04/01/2006 - 23:29 por anonimo | Informe spam
tengo un problema.espero puedan ayudarme
tengo dos tablas una es persona y la otra telefono_persona, lo que necesito
es obtener los datos de las personas + el campo de numero_telefono (numero de
casa) de la tabla telefono_persona, en la tabla telefono_persona esta el
campo tipo_telefono (casa, trabajo, etc) he estado haciendo lo siguiente:
select tb1.nombre, tb2.numtel
from persona tb1
left outer join telefono_persona tb2 on tb1.codpersona= tb2.codpersona where
tb2.tipo_telefono='1'

pero eso me restringe al conjunto de resultados de las personas que tengan
numero de telefono ='1', yo lo que quiero es todas las personas + el numero
telefono casa si es que lo tienen

gracias de antemano.

Preguntas similare

Leer las respuestas

#6 anonimo
05/01/2006 - 22:01 | Informe spam
muchas gracias por responder.
Una pregunta adicional, como haría la sentencia si la persona tuviera
mas de un mismo tipo_telefono=1 registrado. para que solo devuelva uno de
elloscualquiera sea.

gracias.


"Alejandro Mesa" escribió:

Mostrar la cita
#7 Alejandro Mesa
05/01/2006 - 22:18 | Informe spam
anonimo,

En ese caso, personalmente me iria por la solucion que posteo Maxi y usaria
la funcion de grupo MAX.

Dejame tomar prestada la sentencia de Maxi.

select
a.nombre,
b.max_numtel
from
dbo.persona as a
left join
(
select idpersona, max(numtel) as max_numtel
from dbo.tipo_telefono
where tiptel='1'
group by idpersona
) as b
on a.idpersona = b.idpersona
go


AMB

"anonimo" wrote:

Mostrar la cita
#8 anonimo
05/01/2006 - 23:19 | Informe spam
Gracias por tu respuesta, funciona muy bien.

"Alejandro Mesa" escribió:

Mostrar la cita
Ads by Google
Search Busqueda sugerida