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

Consulta de dos tablas

Estas en el tema de Consulta de dos tablas en el foro de Mysql en Foros del Web. Hola, resulta que tengo dos tablas con diferentes campos en mysql y quiero hacer una consulta combinada pero no me sale. Las tablas son: 1 ...
  #1 (permalink)  
Antiguo 13/01/2009, 12:28
 
Fecha de Ingreso: junio-2005
Mensajes: 69
Antigüedad: 19 años, 5 meses
Puntos: 0
Consulta de dos tablas

Hola, resulta que tengo dos tablas con diferentes campos en mysql y quiero hacer una consulta combinada pero no me sale. Las tablas son:

1
GALERIA_CATEGORIAS
categoria_id
categoria_nombre
categoria_padre
categoria_descripcion


2
GALERIA_IMAGENES
imagen_id
imagen_nombre
imagen_categoria
imagen_descripcion
imagen_fecha
imagen_visitas

En la tabla GALERIA_IMAGENES el campo imagen_categoria corresponde al campo categoria_id de la tabla GALERIA_CATEGORIAS
La cosa es que quiero hacer una seleccion que me muestre los campos imagen_nombre de la galeria de imagenes siempre que la categoria_padre sea = 0

Mirando en el foro he visto que hablan de "inner join"
Lo he probado y no me sale
Tambien he intentado con combinaciones de select pero no me sale
Creo que debe ser una seleccion muy habitual pero no se me ocurre ya mas por donde ir.
¿Me podeis orientar?
  #2 (permalink)  
Antiguo 13/01/2009, 13:21
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 17 años
Puntos: 18
Respuesta: Consulta de dos tablas

select galeria_imagenes from galeria_imagenes inner join galeria_categorias inner join imagen_categoria=categoria_id where categoria_padre=0;

lo recomendable es que los campos que se corresponden deben de tener el mismo nombre, en este caso me supongo que categoria_id es pk en tu primera tabla y ese mismo nombre debe de tener el campo imagen_categoria en tu segunda tabla ya que es una clave foránea, sería bueno que leas sobre normalización de tablas.

suerte
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #3 (permalink)  
Antiguo 13/01/2009, 14:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consulta de dos tablas

Tema trasladado a MySQL.
  #4 (permalink)  
Antiguo 14/01/2009, 04:43
 
Fecha de Ingreso: junio-2005
Mensajes: 69
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Consulta de dos tablas

Gracias Argy
Itentando lo que me pones no me salia pero variandolo ya funciona. He puesto:

select imagen_nombre, imagen_descripcion, imagen_categoria from galeria_imagenes inner join galeria_categorias on imagen_categoria = categoria_id where categoria_padre = 0;

Una vez resuelto esto plash... otro problema
Ahora lo que quiero es que al pulsar en esa imagen me abra todos los

nombre_imagen de la tabla
GALERIA_IMAGENES simpre que tengan como categoria_imagen la misma categoria_id
de la tabla GALERIA_CATEGORIAS que tiene la imagen original


El problema me parece que es que no se como conseguir el categoria_id de la tabla GALERIA_CATEGORIAS para cada una de las imagenes que me han aparecido en el select que he puesto
  #5 (permalink)  
Antiguo 15/01/2009, 02:09
 
Fecha de Ingreso: junio-2005
Mensajes: 69
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Consulta de dos tablas

¿alguien sabe si realizando este select...?

select imagen_nombre, imagen_descripcion, imagen_categoria from galeria_imagenes inner join galeria_categorias on imagen_categoria = categoria_id where categoria_padre = 0;

En una base de datos con estas dos tablas

1 GALERIA_CATEGORIAS (categoria_id, categoria_nombre, categoria_padre, categoria_descripcion)

2 GALERIA_IMAGENES (imagen_id, imagen_nombre, imagen_categoria, imagen_descripcion, imagen_fecha, imagen_visitas)

¿Se puede conseguir saber la categoria_id de cada uno de los campos que aparecen? ¿habria que realizar otro select o cual seria el camino a seguir?

gracias
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 13:54.