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

Unir 2 Tablas bajo una misma consulta

Estas en el tema de Unir 2 Tablas bajo una misma consulta en el foro de Mysql en Foros del Web. Hola Amigos de Foros del Web... De antemano le doy las gracias por la ayuda que puedan brindarme con mi caso... No soy tan nuevo ...
  #1 (permalink)  
Antiguo 23/11/2011, 11:31
Avatar de FoxReloaded  
Fecha de Ingreso: noviembre-2011
Ubicación: Maracaibo
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Información Unir 2 Tablas bajo una misma consulta

Hola Amigos de Foros del Web...

De antemano le doy las gracias por la ayuda que puedan brindarme con mi caso...

No soy tan nuevo en esto del MySQL pero si lo soy con lo del Visual FoxPro (Creo que esta en actual obsolecencia) pero el problema que tengo ahorita es con una consulta de MySQL que sabiendo donde ta la falla tampoco he podido dar con la solucion..

Me explico: Tengo una base de datos mmm llamemosla shortlived en la cual tengo muchas tablas, nunca habia tenido la necesidad de unir en una consulta varios campos de la tabla pero si se como se hace el problema es cuando condicionas la consulta con los dos campos de diferentes tablas no me arroja el resultado que espero si no que toma una condicion y la ejecuta por el numero de registros que tenga la otra tabla, para ser mas especifico miremos:

DB: shortlived
TABLES: id_desc, datestamp
Records by table:
id_desc = 10, datestamp = 62

normalente yo haria una basandome en la tabla datestamp asi...

SELECT * FROM datestamp WHERE TRAFECHA <> CURRENT_DATE() AND HORSTAMP = '00:00:00';

Y no tendria problemas porque en el caso cumpliria la condicion arrojandome 4 registros que cumplen con esa condicion... Pero el caso es cuando uno varios campos de distintas tablas para la consulta. Veamos la sintaxis de la instruccion que estoy utilizando:

SELECT a.TRAAPE,a.TRANOM,b.TRAFECHA,b.HORSTAMP
FROM id_desc a, datestamp b
WHERE b.TRAFECHA <> current_date() AND b.HORSTAMP = '00:00:00';

Cuando le doy ejecutar a la instruccion efectivamente la cumple pero la cantidad de registros me da 40 y buscando el meollo del asunto encontre que no se como ni porque los 4 registros que me da en la primera consulta los esta multiplicando por los 10 registros que tiene la otra tabla...

Si alguien sabe a que se debe esto por favor explíquenme y me dan la solucion... :)

Gracias por sus posibles soluciones...

Un abrazo xD
  #2 (permalink)  
Antiguo 23/11/2011, 13:28
Avatar de FoxReloaded  
Fecha de Ingreso: noviembre-2011
Ubicación: Maracaibo
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Unir 2 Tablas bajo una misma consulta

Gracias a todos los que me respondieron gracias a dios y despues de tanto pensar logre dar con la sintaxis de la consulta ahi se las dejo para que la utilizen como referencia a futuras preguntas al respecto.

SELECT a.TRAAPE,a.TRANOM,b.TRAFECHA,b.HORSTAMP
FROM id_desc a, datestamp b
WHERE (a.TRACED = b.TRACED) AND b.TRAFECHA <> current_date() AND b.HORSTAMP = '00:00:00';
Tengan en cuenta esto:

Select a.nombre_tabla,b.nombre_tabla */ Selecccionamos diferentes campos de varias tablas diferentes usando indices de patron.
WHERE (a.traced = b.traced) and otras_condiciones */ Veamos que la primera consulta es la mas importantes porque es la que va a buscar en las dos tablas que otras_condiciones (segun la condicion) se vaa cumplir en base a los registros de dos tablas con un indice en comun.

De todas maneras gracias y si tienen otra forma de hacer esto mismo de pronto mas practica me informan por aqui xD

Gracias a todos xD

Etiquetas: dobleconsulta, tablas, tablascruzadas
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 23:33.