Tengo un pequeño sistema de galerias con taxonomy en las imagenes.
El sistema esta compuesto por tres tablas, una almacena las imagenes y le asigna una id a cada imagen, otra guarda las tags y asigna una id a cada tag y la ultima vincula el id de la tag con la ide de la imagen.
(images.id) <---> (nodes.image_id | nodes.tag_id) <---> (tags.id | tags.tag)
Y el problema que estngo es que no puedo realizar una busqueda de imagenes por dos o mas tags, es decir, si busco "car wheels" para que me devuelva las ids de la imagenes que contengan como tag "car" y "wheels" a su vez.
Este es my query actual:
Código SQL:
Ver originalSELECT images.*
FROM images
JOIN nodes
ON images.id = nodes.image_id
WHERE tag_id
IN (SELECT tags.id FROM tags WHERE tags.tag IN ('car','wheels'))
GROUP BY images.id
El problema es que el primer IN en vez de "filtrar" los resultados los suma...es decir no busca por "car wheels" sino que busca todas las imagenes que contenga el tag "car" y las suma con los resultados de la busqueda de "wheels" por lo que falla.
Ayuda por favor.