A ver que les parece esta consulta, no se si se puede hacer algo mejor o mas "optimo" o esta está bien.
tabla usuarios
id_usuario
usuario
tabla descargas
id_descarga
titulo
tabla permisos
id_descarga
id_usuario
La tabla permisos guarda el id de la o las descargas que le corresponden a cada id de usuario. Quisiera hacer un listado de todas las descargas y un campo extra que me indique si pertenece o no a un usuario seleccionado. Algo como:
Con id_usuario 1:
id_descarga - titulo - permiso
1 - Test1 - si
2 - Test2 - no
La consulta que logre y me funciona es la siguiente:
SELECT id_descarga, titulo,
if( (SELECT COUNT( * ) FROM permisos
WHERE id_usuario =1
AND permisos.id_descarga = descargas.id_descarga ) >0, 'si', 'no'
)
FROM descargas
¿Que les parece?
Muchas gracias!