Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

MySQL - Select * from hell;

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Select * from hell;

Autor:Txarly (2 intervenciones)
Fecha:04/12/2009 09:28:24
Buenas a todos.
Sobre una BD de una competición deportiva por equipos.

He de resolver una consulta un tanto larga, la cuestión se me atraganta cuando llego al punto en que he de encontrar el nombre de los equipos que han ganado n veces como visitante.

Mi idea inicial era: (con 3 victorias de visitante)

select partido.nombre_visitante from partido where 3<(select count(partido.pts_visitante > partido.pts_local));

Y utilizar un group by al final. Obviamente esto es una magna chapuza que no funciona. La cosa es que tengo la sensación de que no puede ser muy complicado, pero no lo veo.

Muchas gracias y saludos.
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Select * from hell;

Autor:Gonzalo GC (339 intervenciones)
Fecha:04/12/2009 12:17:04
No se puede usar funciones de agrupamiento en el WHERE. Para eso existe el HAVING.
Sería mas o menos así:

SELECT nombre_visitante
FROM partido
HAVING COUNT(pts_visitante)>=3
GROUP BY nombre_visitante;

Esto devolvería el nombre_visitante de aquellos equipos que tengan un valor no nulo en pts_visitante. Si el campo puede tener cero (0) y no NULL, y cada punto es una victoria, es mejor usar SUM:

SELECT nombre_visitante
FROM partido
HAVING SUM(pts_visitante)>=3
GROUP BY nombre_visitante;

o bien

SELECT nombre_visitante, SUM(pts_visitante) puntos
FROM partido
HAVING puntos>=3
GROUP BY nombre_visitante;
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Select * from hell;

Autor:Txarly (2 intervenciones)
Fecha:04/12/2009 12:55:23
Muchas gracias por tu respuesta. En realidad los puntos hacen referencia a canastas marcadas por partido, son equipos de baloncesto, culpa mia por no especificar más.

De todos modos creo que con el 'having' podré solucionar la consulta. La verdad es que no lo he tenido en cuenta en ninigún momento, no lo recordaba.

Gracias y saludos.
Comentar