Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Gestion de Datos] Final 25/09/2019, 26/02/2019, 12/02/2019 ¡RESUELTOS!
Autor Mensaje
manurocck Sin conexión
Empleado del buffet
Preparado para la batalla
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 21
Agradecimientos dados: 24
Agradecimientos: 43 en 10 posts
Registro en: Sep 2015
Facebook
Mensaje: #1
Star [Gestion de Datos] Final 25/09/2019, 26/02/2019, 12/02/2019 ¡RESUELTOS! Finales Gestión de Datos
¡ Qué tal UTNianos !

Estoy empezando a armar un post con finales resueltos.
Acabo de tener una mala experiencia rindiendo el final de GDD así que voy a empezar con los del 2019 para abajo.

(Comentá si tenés alguna recomendación/corrección)


Acá los FINALES RESUELTOS :



- Si crees que algún final tiene un error dejá un comentario y lo modificamos
- Si tienen algún final que no esté incluido en algún pueden publicarlo o mandarlo por m.d así lo incluyo en el post

Espero que les sirva!

Saludos!
Otros adjuntos en este tema
.jpg  SQL1.jpg ( 145,42 KB / 11) por Diesel
(Este mensaje fue modificado por última vez en: Ayer 22:31 por manurocck.)
25-09-2019 23:52
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] manurocck recibio 2 Gracias por este post
Mauro_bilo (07-10-2019), Diesel (Ayer)
Diesel Sin conexión
Campeon del cubo Rubik
5to año loading
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 141
Agradecimientos dados: 112
Agradecimientos: 288 en 31 posts
Registro en: Sep 2012
Mensaje: #2
RE: [Gestion de Datos] Final 25/09/2019, 26/02/2019 ¡RESUELTOS!
Buenas !
Con respecto al final de 25 de septiembre de 2019
Me animé a hacer el 3a de otra forma SIN QUE SEA CONSULTA aclaro... mas o menos parecida a la resolución.
Algun crack en SQL me lo verifica?? gracias!




Declare @MenorMonto int
Set @MenorMonto =(select top 1 sum (b.totalApostado)
from caballo b, carreras s where s.idCarrera=b.idCarrera group by b.numeroCaballo order by 1 asc)
-- aca saque la menor cantidad de guita que recibio un caballo en todas las carreras en todas las apuestas.


select a.nombreCaballo
from caballos a , carreras c
where
c.idCarrera=a.idCarrera and
a.puesto=1 and -- aca me doy cuenta que estoy filtrando puesto 1 y en el sum del total de dinero tmb se va a aplicar asi que ¿esta mal?
c.fecha=GETDATE()
group by a.nombreCaballo
Having SUM(a.totalApostado)=@MenorMonto

(Este mensaje fue modificado por última vez en: Ayer 16:02 por Diesel.)
Ayer 15:47
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
manurocck Sin conexión
Empleado del buffet
Preparado para la batalla
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 21
Agradecimientos dados: 24
Agradecimientos: 43 en 10 posts
Registro en: Sep 2015
Facebook
Mensaje: #3
RE: [Gestion de Datos] Final 25/09/2019, 26/02/2019 ¡RESUELTOS!
(Ayer 15:47)Diesel escribió:  Buenas !
Con respecto al final de 25 de septiembre de 2019
Me animé a hacer el 3a de otra forma SIN QUE SEA CONSULTA aclaro... mas o menos parecida a la resolución.
Algun crack en SQL me lo verifica?? gracias!

Cómo te va Diesel, calculo que funciona también. Comparando las diferencias entre las consultas me di cuenta de que lo que hiciste fue aislar la subquery del HAVING para asignarle el valor a una variable.

Lo que sí, muchas veces te piden que lo hagas todo en solo una consulta, sin funciones auxiliares ni otras cosas. No se si te dirían algo por hacer eso o no.. Yo entre las dos me arriesgaría por la primera por las dudas (aunque den el mismo resultado)

Saludos!
Ayer 19:33
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] manurocck recibio 1 Gracias por este post
Diesel (Hoy)
Diesel Sin conexión
Campeon del cubo Rubik
5to año loading
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 141
Agradecimientos dados: 112
Agradecimientos: 288 en 31 posts
Registro en: Sep 2012
Mensaje: #4
RE: [Gestion de Datos] Final 25/09/2019, 26/02/2019 ¡RESUELTOS!
(Ayer 19:33)manurocck escribió:  
(Ayer 15:47)Diesel escribió:  Buenas !
Con respecto al final de 25 de septiembre de 2019
Me animé a hacer el 3a de otra forma SIN QUE SEA CONSULTA aclaro... mas o menos parecida a la resolución.
Algun crack en SQL me lo verifica?? gracias!

Cómo te va Diesel, calculo que funciona también. Comparando las diferencias entre las consultas me di cuenta de que lo que hiciste fue aislar la subquery del HAVING para asignarle el valor a una variable.

Lo que sí, muchas veces te piden que lo hagas todo en solo una consulta, sin funciones auxiliares ni otras cosas. No se si te dirían algo por hacer eso o no.. Yo entre las dos me arriesgaría por la primera por las dudas (aunque den el mismo resultado)

Saludos!


Asi es manu ! Tenes razon aislé el having de la query. También entregaría la query en lugar del procedure.

Ya que te metiste a pensarlo nuevamente conmigo te hago una consulta.
Ves la nota que puse en le filtro "where"?? Filtramos por puesto 1. Y luego hacemos el SUM... pero al hacer el SUM estamos haciendo el SUM de las carreras que obtuvo el primer puesto ese caballo... o sea la cantidad de guita que recibió en apuestas solamente para la fecha y para el primer puesto... eso no esta medio mal ?? porque en el ejercicio te pedía la cantidad de guita q haya sacado el caballo en apuestas sin importar q haya sido en primeros puestos digamos y que esa guita sea la menor que se apostó ever... o sea como que habria que anidar todo el resultado y LUEGO hacer el filtro del primer puesto y la fecha... o no?
Si no se entiende reformulo xD
Gracias de nuevo!
Hoy 08:35
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Diesel recibio 1 Gracias por este post
manurocck (Hoy)
manurocck Sin conexión
Empleado del buffet
Preparado para la batalla
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 21
Agradecimientos dados: 24
Agradecimientos: 43 en 10 posts
Registro en: Sep 2015
Facebook
Mensaje: #5
RE: [Gestion de Datos] Final 25/09/2019, 26/02/2019 ¡RESUELTOS!
(Hoy 08:35)Diesel escribió:  Ya que te metiste a pensarlo nuevamente conmigo te hago una consulta.
Ves la nota que puse en le filtro "where"?? Filtramos por puesto 1. Y luego hacemos el SUM... pero al hacer el SUM estamos haciendo el SUM de las carreras que obtuvo el primer puesto ese caballo... o sea la cantidad de guita que recibió en apuestas solamente para la fecha y para el primer puesto... eso no esta medio mal ?? porque en el ejercicio te pedía la cantidad de guita q haya sacado el caballo en apuestas sin importar q haya sido en primeros puestos digamos y que esa guita sea la menor que se apostó ever... o sea como que habria que anidar todo el resultado y LUEGO hacer el filtro del primer puesto y la fecha... o no?
Si no se entiende reformulo xD
Gracias de nuevo!

Creo que tenés razón .. Tal vez se podría solucionar reemplazando el SUM por otra subquery que calcule el total de apuestas del caballo sin importar el puesto en el que salió



SELECT cb.nombreCaballo
FROM Caballos cb JOIN Carreras cr ON (cb.idCarrera = cr.idCarrera)
WHERE cb.puesto = 1 AND DAY (cr.fecha) = DAY ( GETDATE() )
GROUP BY cb.nombreCaballo
HAVING (SELECT SUM(cb3.totalApostado
FROM Caballos cb3
WHERE cb3.nombreCaballo = cb.nombreCaballo
GROUP BY cb3.nombreCaballo ) =
(SELECT TOP 1 SUM(cb2.totalApostado)
FROM Caballos cb2
GROUP BY cb2.nombreCaballo
ORDER BY SUM(cb2.totalApostado) asc)
ORDER BY SUM (cb.totalApostado) asc


Qué te parece?
Hoy 14:35
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] manurocck recibio 1 Gracias por este post
Diesel (Hoy)
Diesel Sin conexión
Campeon del cubo Rubik
5to año loading
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 141
Agradecimientos dados: 112
Agradecimientos: 288 en 31 posts
Registro en: Sep 2012
Mensaje: #6
RE: [Gestion de Datos] Final 25/09/2019, 26/02/2019, 12/02/2019 ¡RESUELTOS!
(Hoy 14:35)manurocck escribió:  
(Hoy 08:35)Diesel escribió:  Ya que te metiste a pensarlo nuevamente conmigo te hago una consulta.
Ves la nota que puse en le filtro "where"?? Filtramos por puesto 1. Y luego hacemos el SUM... pero al hacer el SUM estamos haciendo el SUM de las carreras que obtuvo el primer puesto ese caballo... o sea la cantidad de guita que recibió en apuestas solamente para la fecha y para el primer puesto... eso no esta medio mal ?? porque en el ejercicio te pedía la cantidad de guita q haya sacado el caballo en apuestas sin importar q haya sido en primeros puestos digamos y que esa guita sea la menor que se apostó ever... o sea como que habria que anidar todo el resultado y LUEGO hacer el filtro del primer puesto y la fecha... o no?
Si no se entiende reformulo xD
Gracias de nuevo!

Creo que tenés razón .. Tal vez se podría solucionar reemplazando el SUM por otra subquery que calcule el total de apuestas del caballo sin importar el puesto en el que salió



SELECT cb.nombreCaballo
FROM Caballos cb JOIN Carreras cr ON (cb.idCarrera = cr.idCarrera)
WHERE cb.puesto = 1 AND DAY (cr.fecha) = DAY ( GETDATE() )
GROUP BY cb.nombreCaballo
HAVING (SELECT SUM(cb3.totalApostado
FROM Caballos cb3
WHERE cb3.nombreCaballo = cb.nombreCaballo
GROUP BY cb3.nombreCaballo ) =
(SELECT TOP 1 SUM(cb2.totalApostado)
FROM Caballos cb2
GROUP BY cb2.nombreCaballo
ORDER BY SUM(cb2.totalApostado) asc)
ORDER BY SUM (cb.totalApostado) asc


Qué te parece?


Testeado y funciona! muy bien.



CREATE TABLE CABALLOS (
idCarrera int,
numeroCaballo int not null,
NombreCaballo varchar(20) not null,
Puesto int,
totalApostado int not null,
CONSTRAINT FK_idCarrera FOREIGN KEY (idCarrera) REFERENCES CARRERAS (idCarrera)
);

CREATE TABLE CARRERAS (
idCarrera int ,
fecha date not null,
numeroCarrera int not null,
CONSTRAINT PK_User_SL PRIMARY KEY(idCarrera)
);

select * from CARRERAS

INSERT INTO CARRERAS (idCarrera,fecha,numeroCarrera) VALUES (2,'15/10/2019',243)
INSERT INTO CARRERAS (idCarrera,fecha,numeroCarrera) VALUES (3,'14/10/2019',246)

INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,99,'ROCKY',1,50)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (3,99,'ROCKY',10,50)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,88,'RYAN',2,300)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (3,88,'RYAN',5,500)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,77,'PEPE',3,800)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,66,'COCO',4,700)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,55,'BLUE',5,7000)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,40,'MIRKO',6,9000)

INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (2,44,'POBRETON',99,20)
INSERT INTO CABALLOS (idCarrera,numeroCaballo,NombreCaballo,Puesto,totalApostado) VALUES (3,44,'POBRETON',99,400)




En el Having no tiene sentido poner MENOR IGUAL dado que siempre va a tener que ser igual.
Si yo agrego un caballo que se llama "pobreton" al cual le apostamos menos que a "ROCKY" (el cual salio primero) y le apostaron "POCO" entonces la query no va a traer nada... porque POBRETON tendria le menor apuesta y lo que le apostaorn a rocky es mayor.
Si le agregamos 400 a pobreton entonces ahi sobrepasa a rocky, teniendo asi rocky lo menor apostado y devolviendo ESE valor en el having.. es como que el having dice "este caballo que salio primero posee lo menor que se le aposto en la vida del sistema?" y si la respuesta es "si" entonces lo devuelve en la consulta.
Le borré el filtor del dia asi funcionaba =D
abrazo.


Archivo(s) adjuntos Imagen(es)
   
Hoy 15:34
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Diesel recibio 1 Gracias por este post
manurocck (Hoy)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.