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

Un query a tres tablas.

Estas en el tema de Un query a tres tablas. en el foro de Mysql en Foros del Web. Saludos amigos, hoy me encontre con algo raro y lo voy a explicar poniendo la tablas en cuestion. Tengo que popular unos productos que tienen ...
  #1 (permalink)  
Antiguo 10/08/2011, 18:20
Avatar de GXT2  
Fecha de Ingreso: junio-2009
Ubicación: Fort Lauderdale, FL
Mensajes: 152
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Un query a tres tablas.

Saludos amigos,

hoy me encontre con algo raro y lo voy a explicar poniendo la tablas en cuestion.

Tengo que popular unos productos que tienen tags pero en la base de datos que estoy viendo esta de la sigueinte manera:


products

id

slug

*************************
la otra tabla es:

ptags

id

name

**************************
y lo otra tabla que es la que contiene los id de los dos tablas anteriores

products_ptags

id

product_id

ptag_id

Ahora mi pregunta es:

Como hago el query para presentar los productos con su respectivo tag name ?

Si alguien me puede dar un mano con esto se lo agradeceria la vida
o si tienes alguna referencia donde pueda leer sobre este tipo de tablas.

mil gracias de antemano.
  #2 (permalink)  
Antiguo 11/08/2011, 13:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Un query a tres tablas.

creo que esto es lo que ocupas:
Código:
select products.slug, ptags.name from products 
inner join products_ptags on products.id = products_ptags.product_id
inner join ptags on ptags.id = products_ptags.ptag_id
de no ser así pues comentas.
  #3 (permalink)  
Antiguo 11/08/2011, 14:32
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Un query a tres tablas.

Cita:
Iniciado por cesarin3504 Ver Mensaje
creo que esto es lo que ocupas:
Código:
select products.slug, ptags.name from products 
inner join products_ptags on products.id = products_ptags.product_id
inner join ptags on ptags.id = products_ptags.ptag_id
de no ser así pues comentas.
cesarin me podrias explicar como funciona esa consulta..
soy nobato, y me llamo la antecion.
__________________
Mono programando!
twitter.com/eguimariano
  #4 (permalink)  
Antiguo 11/08/2011, 15:08
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Un query a tres tablas.

con gusto...

vamos a traer los campos que necesitamos de las tablas correspondientes

Código:
select products.slug, ptags.name
luego hacemos los filtros para que solo traiga las coincidencias con la tabla de products_ptags.

primero las coincidencias con products

Código:
inner join products_ptags on products.id = products_ptags.product_id
el siguiente seria el filtro que nos trae las coincidencias del id de ptags

Código:
inner join ptags on ptags.id = products_ptags.ptag_id
y listo!!!!

espero me haya explicado...
  #5 (permalink)  
Antiguo 11/08/2011, 15:47
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Un query a tres tablas.

¿Pero por que solo?

from products
__________________
Mono programando!
twitter.com/eguimariano

Etiquetas: query, tabla, tres
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:18.