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

Consulta en multiples tablas fallida

Estas en el tema de Consulta en multiples tablas fallida en el foro de Mysql en Foros del Web. Ante todo, saludos a toda la comunidad de foros del web. Siempre que consulto algo con google.. quienes primero aparecen son ustedes.. y me han ...
  #1 (permalink)  
Antiguo 10/03/2008, 07:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 1
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Consulta en multiples tablas fallida

Ante todo, saludos a toda la comunidad de foros del web. Siempre que consulto algo con google.. quienes primero aparecen son ustedes.. y me han ayudado mucho, asi q mil gracias en principio por eso :P

La cuestion principal de mi post es que tengo un gran problema con una consulta en MySQL. Estoy haciendo un sistema de busquedas. El mismo busca en 4 tablas los mismos campos. Las tablas se llaman: casas, departamentos, locales y terrenos. En ellos busca, entre otros datos: valor, direccion, entre_calles, etc. Basicamente busca en los campos que las tablas tienen en comun. Asi.. por ejemplo, eligiendo TIPO DE PROPIEDAD: TODAS.. Y poniendo un Valor de $ 100.000.. el buscador deberia devolverme las casas, departamentos, locales y terrenos que tengan ese valor.

Hasta aqui todo bien.. el problema es en la forma que realizo la consulta. Al hacer por ej:

Código PHP:
SELECT casas.direccion AS casas_dirdepartamentos.direccion AS departamentos_dirlocales.direccion AS locales_dirterrenos.direccion AS terrenos_dir FROM casasdepartamentoslocalesterrenos WHERE casas.valor 100000 AND departamentos.valor 100000 AND locales.valor 100000 AND terrenos.valor 100000G 
Al hacer esto me aparecen en una misma fila todos los datos. Es decir.. si tengo 10 casas registradas, me aparecen en la misma fila 10 direcciones:

casas_dir: Horacio Mendez 20423
casas_dir: Mendoza 344
casas_dir: Lalalala
etc...

La pregunta del millon es.. si le asigno un ID completo a cada propiedad, cosa de que cada una tenga un id unico, este en la tabla que este.. se puede lograr que con un SELECT me devuelva un registro por cada condicion? es decir.. si pongo una consulta de este estilo:

Código PHP:
SELECT casas.direcciondepartamentos.direccionterrenos.direccion FROM casasdepartamentosterrenos WHERE casas.id_completo 1-1-0001 AND departamentos.id_completo 1-2-0001 AND terrenos.id_completo 1-3-0001 
Podria hacer que me devuelva un registro para la casa con id 1-1-0001, un registro para el departamento con id 1-2-0001 y otro para el terreno con id 1-3-0001.. y no todo en un mismo registro?

Espero que se haya entendido mi pregunta. Si no fue asi.. haganmelo saber asi trato de explicarme mas.

Desde ya.. gracias por adelantado a todo el que lea el post :)
  #2 (permalink)  
Antiguo 14/03/2008, 06:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Consulta en multiples tablas fallida

Que tal UNION ALL

Código:
            SELECT "casa" as tipo,  direccion
                 FROM casas
                 WHERE valor = 100000 
            UNION ALL
            SELECT "departamento" as tipo,  direccion
                 FROM departamentos
                 WHERE valor = 100000 
            UNION ALL
            SELECT "terreno" as tipo,  direccion
                 FROM terrenos
                 WHERE valor = 100000;
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 22:47.