Mis 3 tablas son las siguientes:
MEDIAS
[ID]
[ARCHIVO]
MEDIAS-TAGS
[ID]
[ID_MEDIA] (FK MEDIAS.ID)
[ID_TAG] (FK TAGS.ID)
TAGS
[ID]
[DESC]
El caso ideal sería que dada la DESC de un tag, retorne todos los MEDIAS que contengan el tag en cuestión. Es fundamental que que la consulta devuelva en un campo, mediante GROUP_CONCAT, la union de todos los TAGS correspondientes a ese MEDIA.
Lo que se me ocurre hacer es lo siguiente, pero solo me devuelve el el tag que coincide con la busqueda, en lugar de todos los tags pertenecientes al MEDIA:
Código MySQL:
Ver original
Para aclarar un poco mas, el/los registros a devolver deberían estar formados del siguiente modo:
tag.desc a buscar: "tn"
resultado de la query:
[
{"id":"1225","tagl":"pdf,t3,t2,tn"},
{"id":"468","tagl":"video,tn"},
{....}
]
De momento lo estoy haciendo mediante 2 consultas, la primera me devuelve todos los IDs de los MEDIAS que contienen ese tag.desc y, mediante una segunda consulta, capturo todos los tags que corresponden a ese MEDIA.
Cualquier sugerencia es bienvenida
Gracias!