Pequeño problema con ejercicio de sql

  • Autor Autor josedvd123
  • Fecha de inicio Fecha de inicio
josedvd123

josedvd123

Gamma
Social Media
Verificación en dos pasos activada
Buenas tardes Betas!
Estoy estudiando base de datos, pero aún soy muy novato 😛

Tengo un problema en el siguiente ejercicio:
Muestra el resultado más repetido del P.E. Valencia. Adjunto la base de datos *Ver el archivo adjunto BD LIGA.rar

Lo que he logrado hacer es esto:
SELECT a.resultado FROM partido a GROUP BY a.resultado HAVING COUNT(a.resultado)=(SELECT MAX(c.total) FROM (SELECT COUNT(b.resultado) as total FROM partido b GROUP BY b.resultado)c);

y me dice el resultado más repetido pero no se como especificar que sea el resultado mas repetido de P.E. Valencia.
Alguien me podría ayudar?
Gracias!!!! :encouragement:
 
Última edición:
Creo que te faltaria meter un WHERE a.equipo = 'P.E. Valencia' para dejar solo los resultados de ese equipo.

P.D: Tienes un lio de sentencia en SQL, intenta ser más claro en sentencias de ese tipo.... Te faltan parentesis para que se aclare mas....

SELECT a.resultado FROM partido a GROUP BY a.resultado HAVING COUNT(a.resultado)=((SELECT MAX(c.total) FROM (SELECT COUNT(b.resultado) as total FROM partido b GROUP BY b.resultado)) WHERE a.equipo = 'P.E. Valencia'

Asi esta mejor 🙂
 
Última edición:
Creo que te faltaria meter un WHERE a.equipo = 'P.E. Valencia' para dejar solo los resultados de ese equipo.

P.D: Tienes un lio de sentencia en SQL, intenta ser más claro en sentencias de ese tipo.... Te faltan parentesis para que se aclare mas....

SELECT a.resultado FROM partido a GROUP BY a.resultado HAVING COUNT(a.resultado)=((SELECT MAX(c.total) FROM (SELECT COUNT(b.resultado) as total FROM partido b GROUP BY b.resultado)) WHERE a.equipo = 'P.E. Valencia'

Asi esta mejor 🙂
Te falto poner una "c" 😛

Pero igualmente con el código así:
SELECT a.resultado FROM partido a GROUP BY a.resultado HAVING COUNT(a.resultado)=((SELECT MAX(c.total) FROM (SELECT COUNT(b.resultado) as total FROM partido b GROUP BY b.resultado)c) WHERE a.equipo = 'P.E. Valencia';
la columna equipo solo muestra números, los nombres de los equipos están en otra tabla.

Pero gracias por intentar ayudarme :encouragement:

---------- Post agregado el 05-may-2014 hora: 19:02 ----------

Después de todo el día mirando ese ejercicio lo he resuelto:

SELECT a.resultado FROM partido a WHERE a.local =(SELECT id_equipo FROM equipo WHERE nombre='P.E. Valenacia') GROUP BY a.resultado HAVING COUNT(a.resultado)=(SELECT MAX(c.total) FROM (SELECT COUNT(b.resultado) as total FROM partido b GROUP BY b.resultado)c);

:encouragement::encouragement:
 
Muy bien hecho. Claro, lo has hecho genial, si los nombres de los equipos estan en otra tabla, pues a combinar tablas como lo has hecho, o haciendo joins.

Enhorabuena!! Así se aprende!!
 

Temas similares

J
Respuestas
5
Visitas
189
andree1
andree1
josedvd123
Respuestas
4
Visitas
849
josedvd123
josedvd123
D
Respuestas
2
Visitas
1K
imported_Jhonnyf
I
Atrás
Arriba