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

Consultar dos tablas simultáneamente

Estas en el tema de Consultar dos tablas simultáneamente en el foro de Bases de Datos General en Foros del Web. Resulta que tengo un módulo de noticias que trabaja con dos tablas. La primera es CATEGORIES (incluye una imagen para cada item) y la segunda ...
  #1 (permalink)  
Antiguo 26/07/2004, 14:56
Avatar de JJRC  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 261
Antigüedad: 21 años, 4 meses
Puntos: 1
Consultar dos tablas simultáneamente

Resulta que tengo un módulo de noticias que trabaja con dos tablas. La primera es CATEGORIES (incluye una imagen para cada item) y la segunda es ARTICULOS.

Lo que estoy intentando hacer es mostrar el último artículo, con sus respectivos datos de autor, fecha, contenido, lecturas, votos, etc. Además, quiero que me muestre la categoría a la que pertenece el artículo junto con su imagen.

El problema que tengo es que hice la consulta y me muestra todo excepto la imagen correspondiente a la categoría. Esta no se muestra ya que en la tabla ARTICULOS no esta ese campo, así que tendría que tomarlo de la tabla CATEGORIES.

¿Cómo hago para realizar la consulta en ámbas tablas simultáneamente?

Muchas gracias!
__________________
El dinero no te cambia, te delata...
  #2 (permalink)  
Antiguo 26/07/2004, 15:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Si pones exactamente la estructura de tus dos tablas sería mejor para orientarte sobre la consulta SQL que debes hacer .. y sobre todo aquí en el foro de "Base de datos" te podrán orientar mejor.

Un saludo,
  #3 (permalink)  
Antiguo 26/07/2004, 22:44
Avatar de JJRC  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 261
Antigüedad: 21 años, 4 meses
Puntos: 1
Te comento que la tabla CATEGORIES tiene los siguientes campos:
- CID
- CNAME
- CIMAGE (esta es la que guarda el nombre de la imagen por ej: noticias.gif)
- CTEXT
Luego tengo la tabla ARTICULOS con los siguientes campos:
- ARID
- AID
- TITULO
- TIME
- TEXT
- TEMA (aquí me dice a que categoría pertenece)
La consulta que hago es la siguiente:
Código:
$result = sql_query("select arid, aid, titulo, time, text, tema from portal_stories order by arid DESC limit 0,5", $dbi);
Esto me devuelve el artículo con todos sus elementos y en categoría me pone solo el número y yo quisiera que me tome el CIMAGE de la tabla CATEGORIES.
Cluster, la verdad es que lo puse aquí porque había encontrado un post similar y pense que era el lugar correcto, pero analizando lo que dices, me parece que sería mejor agregarlo a BASE DE DATOS.
¿Puedes moverlo para allí?
Muchas gracias y disculpa las molestias.
__________________
El dinero no te cambia, te delata...
  #4 (permalink)  
Antiguo 27/07/2004, 10:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Y .. cual es el campo que relaciona ambas tablas .. será el "TEMA"?

Suponiendo que fuera así .. la consulta SQL sería algo tipo:

SELECT CATEGORIES.CIMAGE,ARTICULOS.* FROM CATEGORIES,ARTICULOS WHERE CATEGORIES.CID=ARTICULOS.TEMA

Si te fijas .. se nombran los campos que se requieren de las tamblas implicadas y se "fuerza" a que cid (de categories) y el "tema" (de articulos) sea = por qué ese campo de ambas tablas es tu "clave foránea" y el que los relaciona.

Se puede optimizar este tipo de consultas usando "JOIN" (uniones).

Te recomiendo leer los tutoriales de SQL de:
www.mysql-hispano.com

Un saludo,
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 01:20.