La Web del Programador: Comunidad de Programadores
http://www.lawebdelprogramador.com/foros/MySQL/1165255-Select_from_hell.html
Mensajes realizados anteriormente (No estaban la última vez que entraste)Select * from hell;
Txarly (04/12/2009 09:28:24)
3.214 visitas
2 respuestas
RE:Select * from hell;
Gonzalo GC (04/12/2009 12:17:04)
RE:Select * from hell;
Txarly (04/12/2009 12:55:23)
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.
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;
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.