Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/06/2010, 14:54
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, 5 meses
Puntos: 2658
Respuesta: no hace caso a condición

A mi entender, puede que estés complicando demasiado la consulta, y no se ven ciertos detalles del comportamiento de la consulta:
Cuanco pones una subconsulta como salida de una columna del SELECT, esta consulta se compara con cada uno de los resultados de la consulta principal, siendo que no en todos los casos el WHERE de la subconsulta dará TRUE.
Además, el GROUP BY de la consulta mayor no parece coincidir con las subconsultas (al menos no es el mismo campo), lo que puede dar lugar a que las sumatorias que realmente se estén produciendo queden ocultas en el agrupamiento, por cuanto en este caso sólo conservará el primer registro de cada grupo de "nick" encontrado... que puede no coincidir en el "mn" de la subconsulta, lo que devolvería cero (0) en esos casos.
Además de esas dos cosas, la consulta se vuelve innecesariamente ineficiente, ya que realiza cada subconsulta, al menos una vez por nick encontrado... en lugar de hacerlo una sola vez para todos los nicks, cosa que sería mucho mejor.

Si quieres una propuesta, postea la estructura de las tabas (o sea el "CREATE TABLE...", no una descripción somera), para poder ver detalles de la relación de las tablas que no se pueden inferir de tu ejemplo.

Tip Final: Es mejor expresarse de modo más "informático" en estos foros, porque si no puede que no se entienda la idea... (sin pretender ofender ): Una consulta, un WHERE no "escucha" o "atiende" un valor, sino que realiza una comparación buscando un parámetro o un valor en un campo. En cualquier caso, puede que usar "escuchar" para esto sea válido en otro foro, pero aquí resulta algo extraño y poco claro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 26/06/2010 a las 15:00