Pequeño problema con ejercicio de sql

  • Autor Autor josedvd123
  • Fecha de inicio Fecha de inicio

josedvd123

Gamma
Social Media
Verificación en dos pasos activada
Verificado por Whatsapp
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:
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
Respuestas
4
Visitas
849
josedvd123
Respuestas
25
Visitas
478
Carlos Arreola