Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[GDD] Duda con ejercicio de final
Autor Mensaje
cincue Sin conexión
Campeon del cubo Rubik
A toda mostaza
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 140
Agradecimientos dados: 25
Agradecimientos: 19 en 6 posts
Registro en: Mar 2013
Mensaje: #1
[GDD] Duda con ejercicio de final Dudas y recomendaciones Gestión de Datos
Buenas, tengo un problema con este tipo de ejercicios (Punto 3):

[Imagen: 512.jpg]

La parte que no puede resolver es la de no mostrar los pares repetidos ("No se deberá retornar el mismo par de hermanos 2 veces"), luego el resto lo puedo hacer.

En realidad lo pude hacer de una forma pero no se si es la correcta creo que es muy rebuscada tiene que haber algo mas fácil. Lo que hice fue usar un CURSOR y una TABLA TEMPORAL. Entonces hago que el SELECT devuelva todas los pares (incluyendo los repetidos) y utilizo el CURSOR para ir insertando las filas en la tabla temporal previo chequeo que no haya una repetida. Y termino haciendo un SELECT final a esa tabla temporal que me da el resultado el ejercicio.

Creo que también se puede hacer usando un trigger y una tabla temporal, el tema es que no puede ser así de complicado creo.

Saludos
25-07-2016 15:22
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
janopn Sin conexión
Campeon del cubo Rubik
Cuando no quieras sentir
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 126
Agradecimientos dados: 17
Agradecimientos: 34 en 29 posts
Registro en: May 2011
Mensaje: #2
RE: [GDD] Duda con ejercicio de final
Hola!
Se me ocurre hacerlo comparando los IDs de cada persona con su hermano.

Ponele...
SELECT ... WHERE persona.madre = hermano.madre OR persona.padre = hermano.padre AND persona.id > hermano.id

ID | Nombre | Padre | Madre
---------------------------------
01 | Juan | 10 | 11
02 | Pedro | 10 | 15
03 | Martin | 20 | 30
.....

De esta forma, si Juan y Pedro son hermanos, van a tener IDs diferentes y uno va a tener que ser mayor al otro sí o sí.
Con ese mayor harías que te muestre solo uno de ambos pares.

Espero que se entienda!

PD: Ojo cuando piden ANSI SQL no podes hacer cosas de T-SQL (como triggers, cursores, etc) tengo entendido.

~ All in all is all we are
(Este mensaje fue modificado por última vez en: 26-07-2016 18:01 por janopn.)
26-07-2016 17:57
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] janopn recibio 1 Gracias por este post
cincue (03-10-2017)
Buscar en el tema
Enviar respuesta 




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



    This forum uses Lukasz Tkacz MyBB addons.