Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/04/2013, 21:23
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta de totales compleja



Cita:
esas dos consultas están relacionadas de alguna manera?
Por supuesto que lo están. Si no, no usaría JOIN...
Estoy siguiendo la misma lógica que tu, sólo que asumo (por lo poco que describes del modelo de datos) lo siguiente:
1) La tabla MUSICA contiene una lista de canciones (no repetidas).
2) La tabla LIKECANCION, es una tabla relacional (cardinalidad N:N) que contiene un registro por cada canción que a un usuario dado (cuya tabla no aparece en tu esquema descripto), ha declarado que le gusta (no sé como, y no me interesa tampoco porque no afecta a la consulta).

En ese contexto, LEFT JOIN devuelve (como ya te dije), todo lo de la primera tabla, esté o no relacionado con la segunda. Ahora bien, como le digo que considere que un campo de la segunda tabla (el campo relación), debe ser NULL, devolverá todas las canciones que no han sido seleccionadas por ningún usuario.
SI además le digo que de la segunda tabla sólo tome aquellas elegidas alguna vez por un usuario determinado, me devolverá sólo aquellas canciones que ese usuario no ha declarado como "me gusta"... que es exactamente lo que dijiste.
Cita:
lo que quiero conseguir, es un sugerir canciones, por lo tanto tiene que cumplir la condición de que no la tenga en "me gusta" como usuario.
Ahora bien, si no conoces el funcionamiento de LEFT JOIN, estamos en serios problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)