Consultas a la BD

Iniciado por porris, 28 Agosto 2011, 21:10 PM

0 Miembros y 1 Visitante están viendo este tema.

porris

Hola a todos  ;D espero me puedan ayudar.

lo que pasa es que tengo 2 tablas
1. clientes
2. ciudades

resulta que en la tabla clientes tengo 2 campos
1. ciudad_exp_cedula  --> ciudad de expedición de la cédula
2. ciudad_residencia   --> ciudad de residencia

estas 2 son llaves foráneas referenciadas a ciudades, pero cuando hago la consulta para traer el nombre de las 2 ciudades me devuelve vació, pero si lo hago para traer 1 nombre de 1 ciudad si funciona.

SELECT cl.identificacion,cl.ciudad_exp_cedula,ci.nombre,cl.ciudad_residencia,ci.nombre
FROM clientes cl, ciudades ci
WHERE cl.ciudad_exp_cedula=ci.id AND  cl.ciudad_residencia=ci.id 

Shell Root

Pero no se supone que deberían de ser valores diferentes? Verificaste en la base de datos que si existan valores reales que concuerden con tu búsqueda?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

porris

en mi BD tengo datos reales, y pues yo queria hacerlo haci traer las ciudades de 1 sola tabla.

yo creo que lo que pasa es que MYSQL no sabe que nombre de cual ciudad debe traerme si la de la cedula o la del lugar de residencia y pues la idea es hacerla  sin crear mas campo en cliente o otra tabla de ciudades

si alguien tiene alguna idea de como deberia hacerle le agradeceria :) :)

porris

ya resolvi mi problema gracia a »RA« Morph  por la ayuda, aqui escribo como quedaria la consulta sql

SELECT cl.identificacion,cl.ciudad_exp_cedula,ci.nombre,cl.ciudad_residencia,ci2.nombre
FROM clientes cl, ciudades ci, ciudades ci2
WHERE cl.ciudad_exp_cedula=ci.id AND  cl.ciudad_residencia=ci2.id

Hay que declarar 2 veces la tabla ciudades pero con alias diferentes ciudades ci, ciudades ci2 y dependiendo el alia traido el dato que necesito  ci2.nombrem ci.nombre

:)