Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Select consultando tres tablas

Estas en el tema de Select consultando tres tablas en el foro de Bases de Datos General en Foros del Web. Hola Buen día: Tengo tres tablas que necesito consultar para obtener un dato: Tabla1 Clave IdCiudadano Tabla2 Clave IdCuidadano IdColonia Tabla3 IdColonia Colonia Inicialmente yo ...
  #1 (permalink)  
Antiguo 09/12/2005, 10:43
 
Fecha de Ingreso: mayo-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
Select consultando tres tablas

Hola Buen día:

Tengo tres tablas que necesito consultar para obtener un dato:

Tabla1
Clave
IdCiudadano

Tabla2
Clave
IdCuidadano
IdColonia

Tabla3
IdColonia
Colonia

Inicialmente yo tengo la Clave, y lo que necesito obtener es la Colonia, pero no se como hacer este select para relacionar estas tablas .

Gracias de antemano.
  #2 (permalink)  
Antiguo 09/12/2005, 10:57
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 3 meses
Puntos: 11
pues para ello solo necesitas dos de las tres tablas

Código:
Select Tabla2.clave, tabla2.IdColonia, Tabla3.Colonia
from tabla2, tabla3
where tabla2.idcolonia = tabla3.idcolonia
and tabla2.clave = "AQUILACLAVE";
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 09/12/2005, 11:03
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Esto te puede Ayudar:

Código:
SELECT tabla3.Colonia
FROM tabla1, tabla2, tabla3
WHERE tabla1.Clave = tabla2.Clave AND tabla2.IdColonia=tabla3.IdColonia 
AND tabla1.Clave = "valor"
saludos, cya
  #4 (permalink)  
Antiguo 09/12/2005, 11:05
 
Fecha de Ingreso: mayo-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias Linterns por responder ayudarme, ya tengo otra pregunta, ¿se podría hacer esta consulta de otra manera utilizando los inner joins o left joins o algun tipo de join? ya que una condicion que me ponen al hacer los select es que no debo hacer las comparaciones directas en el where de campos de dos tablas :S o poner varias tablas en el from :(
  #5 (permalink)  
Antiguo 09/12/2005, 11:08
 
Fecha de Ingreso: mayo-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
Sabes hay algo que se me paso, este ejemplo de tablas esta mal porque la clave solo la tengo en Tabla1, esto en realidad quedaria asi:

Tabla1
Clave
IdCiudadano

Tabla2
IdCuidadano
IdColonia

Tabla3
IdColonia
Colonia
  #6 (permalink)  
Antiguo 09/12/2005, 11:10
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 3 meses
Puntos: 11
por supuesto.... solo es de cambiar los campos del Where al JOIN que te he dado

Código:
SELECT * FROM t1 LEFT JOIN (t2, t3, t4)
ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #7 (permalink)  
Antiguo 09/12/2005, 11:15
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 3 meses
Puntos: 11
prueba con esto

Código:
SELECT Tabla1.*, Tabla2.*, Tabla3.*
FROM (Tabla1 INNER JOIN Tabla2 ON Tabla1.IdCiudadano = Tabla2.IdCiudadano) INNER JOIN Tabla3 ON Tabla2.IdColonia = Tabla3.IdColonia
WHERE (((Tabla1.Clave)="CLAVEQUEDESEAS"));
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #8 (permalink)  
Antiguo 09/12/2005, 11:47
 
Fecha de Ingreso: mayo-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
Ya lo probe y asi es como lo necesitaba muchas gracias, funciono perfecto.
  #9 (permalink)  
Antiguo 09/12/2005, 13:29
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 3 meses
Puntos: 11
Cita:
Iniciado por Maia
Ya lo probe y asi es como lo necesitaba muchas gracias, funciono perfecto.

__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.