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

Busqueda en dos tablas?

Estas en el tema de Busqueda en dos tablas? en el foro de Bases de Datos General en Foros del Web. Hola, he usado buscar y por ahora no he encontrado nada parecido a la duda que tengo. Estoy haciendo una seccion en mi web que ...
  #1 (permalink)  
Antiguo 10/12/2003, 06:06
 
Fecha de Ingreso: diciembre-2003
Ubicación: MADRID
Mensajes: 10
Antigüedad: 20 años, 4 meses
Puntos: 0
Busqueda en dos tablas?

Hola, he usado buscar y por ahora no he encontrado nada parecido a la duda que tengo.
Estoy haciendo una seccion en mi web que es una biblioteca, y la tabla resultante de meter los datos es demasiado grande, asi que he tenido que partirla, ¿es posible hacer un "SELECT" buscando en dos tablas diferentes?
  #2 (permalink)  
Antiguo 10/12/2003, 07:51
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
Lo primero decirte que este foro no es el adecuado para preguntar ese tipo de consultas, el adecuado seria Bases de Datos, y en cuanto a tu respuesta es si, dependiendo del motor de bases de datos que uses, normalemente suelen dejar trabajar con mas de una base de datos simultaneamente asi que dependiendo del motor que uses la sintasix SQL sera diferente.
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 10/12/2003, 08:05
 
Fecha de Ingreso: diciembre-2003
Ubicación: MADRID
Mensajes: 10
Antigüedad: 20 años, 4 meses
Puntos: 0
ok, muchas gracias, luego mas detenidamente he visto que hay gente que ha podido con ésta sentencia:

Select * from tabla1, tabla2 where.....

pero no consigo que me funcione, imagino que será por lo que dices del motor, estoy bastante verde en éste tema, ¿como puedo saber el motor que tengo?

Tambien busco algun buen manual o curso, para documentarme sobre php y bases de datos mysql. ¿sabes de alguno?

Última edición por jmtnez33; 10/12/2003 a las 08:07
  #4 (permalink)  
Antiguo 10/12/2003, 08:05
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Busca en la documentacion de tu base de datos si soporta la estructura UNION. Esta estructura te permite "concatenar" los resultados de dos (o mas) consultas. En tu caso, harias una union de la consulta de la primera tabla y de la de la segunda tabla.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 11/12/2003, 07:08
 
Fecha de Ingreso: diciembre-2003
Ubicación: MADRID
Mensajes: 10
Antigüedad: 20 años, 4 meses
Puntos: 0
La version del motor que hay en el servidor es la 3.54 creo que eso es, y he estado mirando, y a partir de la 4 es cuando se puede usar UNION, tambien he visto que se puede hacer algo parecido en versiones anteriores con éste codigo, pero la verdad es que no me aclaro nada.¿Me podeis explicar algo del tema?

El enlace donde los he visto es éste:

http://jinxidoru.com/tutorials/union.html

y la sintaxis es la siguiente:

SELECT [fields]
FROM _dummy AS D
LEFT JOIN [table1] ON (D.num = 0 AND [condition1])
LEFT JOIN [table2] ON (D.num = 1 AND [condition2])
.
.
.
WHERE D.num < [table count]

No entiendo muy bien lo que hace exactamente, alguna idea? Al parecer hay que crear una tabla vacia en éste caso llamada dummy con un solo campo llamado num, pero a partir de ahí me pierdo.

Bueno voy avanzando o eso creo, jjeje, bien ya he adaptado la busqueda a lo que necesito, y no me da ningun error de sintaxis en esa linea, me la da a la hora de hacer ver en la web el resultado, vamos al hacer el eco, me da el siguiente error:

Supplied argument is not a valid MySQL result resource

no tengo ni idea de ingles, pero perece que lo que necesita el echo no es lo que le llega. ¿como puedo hacer un echo de los resultados?

Última edición por jmtnez33; 11/12/2003 a las 07:37
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 08:15.