Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Pitagoras en 29 Abril 2022, 12:02 pm



Título: CONSULTA
Publicado por: Pitagoras en 29 Abril 2022, 12:02 pm
No sé como sería la siguiente consulta, tengo que pasarla a SQL, para un proyecto de Base de datos
(http://)

CONSULTA: Lista de ganadoras de todas la ediciones disputadas


Título: Re: CONSULTA
Publicado por: el-brujo en 29 Abril 2022, 12:08 pm
Sin saber la estructuras, campos y tablas de la base de datos, es imposible.....


Título: Re: CONSULTA
Publicado por: Pitagoras en 29 Abril 2022, 12:26 pm
Gracias :). En el siguiente enlace de Youtube aparecen las estructuras y tablas de la BBDD

07aFrNoDFLI


Título: Re: CONSULTA
Publicado por: Pitagoras en 2 Mayo 2022, 17:33 pm
porfavor Ayuda!! :-(


Título: Re: CONSULTA
Publicado por: EdePC en 2 Mayo 2022, 20:01 pm
CONSULTA: Lista de ganadoras de todas la ediciones disputadas

No se ve en contenido (datos) de la tabla Ediciones pero veo que ahí está el campo Ganadora, solo tendrías que mostrarlas:

Ediciones
* Anualidad
- Torneo
+ Ganadora

Jugadoras
* IdJugadora
- NombreJugadora
- FechaNacimientoJugadora
- PuntosJugadora
- PaisJugadora

(* Clave Primaria, + Clave Foranea, - Campo)

Paso 1
Código
  1. SELECT Ganadora FROM Ediciones

Aunque obviamente dependerá del contexto de la pregunta, doy por echo de que se está llevando algo de Relaciones entre Tablas y el uso de JOIN o similares para mostrar los nombres de las jugadoras en lugar de solos sus ID:

Paso 2
Código
  1. SELECT Ediciones.Ganaradora, Jugadoras.NombreJugadora
  2. FROM Ediciones
  3. INNER JOIN Jugadoras ON Jugadoras.IdJugadora = Ediciones.Ganadora

Por último se tiene que optimizar/simplificar/hacer más legible la consulta dependiendo de lo que se está pidiendo, como no es del todo claro doy por echo que solo se requieren los nombres de las ganadoras y nada más:

Código
  1. SELECT Jugadoras.NombreJugadora
  2. FROM Jugadoras
  3. INNER JOIN Ediciones ON Ediciones.Ganadora = Jugadoras.IdJugadora

Al menos yo los hago así, de paso en paso dividiendo el problema principal en consultas más simples para luego irlas completando poco a poco, claro que se puede hacer de frente o utilizar alias pero lo veo más legible así.

Yo tengo siempre a mano la vieja referencia de MySQL en español como referencia del lenguaje:
- Documentación Oficial MySQL en Español (versión vieja 5.0, única en español):
http://downloads.mysql.com/docs/refman-5.0-es.a4.pdf

Otro libro que recomiendo sobre SQL Server es este que está en español, aunque también es bastante viejo es muy entendible, más que suficiente para estudiantes (los Join se describen en la pág. 149):
https://fdocuments.es/document/libro-de-eidos-bases-de-datos-con-sql-server-2000-y-transactsql-spanish.html


Título: Re: CONSULTA
Publicado por: Pitagoras en 3 Mayo 2022, 12:31 pm
Muchísimas gracias por resolverme la duda, los libros seguro que me serán de grandísima ayuda!! :D :-*