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

¿Es posible esto?

Estas en el tema de ¿Es posible esto? en el foro de Mysql en Foros del Web. Buenas compañeros, Estoy realizando una búsqueda a una BBDD y me gustaría saber si puedo simplificar el código. Tengo una tabla "relacion_tags". Esta tabla relaciona ...
  #1 (permalink)  
Antiguo 18/09/2012, 10:18
 
Fecha de Ingreso: mayo-2008
Ubicación: Barcelona
Mensajes: 249
Antigüedad: 15 años, 11 meses
Puntos: 1
¿Es posible esto?

Buenas compañeros,

Estoy realizando una búsqueda a una BBDD y me gustaría saber si puedo simplificar el código.

Tengo una tabla "relacion_tags". Esta tabla relaciona los tags con diferentes articulos.

La tabla tiene los siguientes campos.

id_producto;id_tag

Mi intención con PHP+MYSQL es hacer un doble filtrado de etiquietas. Yo pasaria 2 id_tag (por ejemplo 5 i 12) y la busqueda tendría que retornarme la id_producto que esta vinculado a estos dos id_tag

Ejemplo:

id_producto id_tag

4 3
2 3
7 5
4 10
5 1
8 3
7 12


En este caso el id_producto que lo cumple es 7

Me gustaría saber si es posible hacer esto

Mil gracias!!
  #2 (permalink)  
Antiguo 03/10/2012, 09:44
 
Fecha de Ingreso: julio-2009
Mensajes: 13
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ¿Es posible esto?

Buenas. Eso lo puedes hacer con la condicion IN de mysql. Quedandote algo asi

Código MySQL:
Ver original
  1. SELECT * FROM `relacion_tags` WHERE ` id_tag` IN ('5', '12')

Claro, en el caso de pasarle las variables desde PHP tendrías que sustituir los valores 5 y 12 de la consulta, por las variables que tienen los valores de tu consulta.

Saludos
  #3 (permalink)  
Antiguo 03/10/2012, 14:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: ¿Es posible esto?

Código MySQL:
Ver original
  1.  id_producto,
  2. COUNT(DISTINCT id_tag) valor
  3.  FROM `relacion_tags`
  4.     WHERE ` id_tag` IN ('5', '12')
  5.        GROUP BY id_producto
  6.        HAVING valor = 2

Etiquetas: php, posible, sql, tabla, campos
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 06:18.