UTNianos

Versión completa: [Aporte][Gestión de Datos][Final] 21/05/2013
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
hay fechas y fechas.

en un final de diciembre (creo, o febrero) pasado la parte de sql era hacer un select pedorro, anidado con otro. o sea, no tan básico, pero algo así, para que se den la idea.
Yo el "3) A" lo resolví sin Joins, agradezco correcciones o hasta un "Está mal Boludo!" en caso de q lo amerite =P

SELECT hijo1.nombre, hijo2.nombre FROM persona hijo1, persona hijo2
WHERE hijo1.padre != hijo2.padre
AND ( (SELECT p3.padre FROM persona p3 WHERE p3.id = hijo1.padre) = (SELECT p4.padre FROM persona p4 WHERE p4.id = hijo2.padre) )
AND hijo1.id < hijo2.id

Aguardo comentarios, gracias!
El enunciado decía que no se podían usar subconsultas.
lo que estas haciendo es un join de manera implicita (also known as "la vieja sintaxis")
Aunque en GDD te dicen que da igual (y en terminos de resultados, si la usas bien, si, da igual) hay razones por las cuales es buena practica usar la nueva sintaxis (que usa la palabra join en vez de dejarlo implicito usando varias tablas en el from)
Ambas son estandar ansi, pero bueno, una es de un estandar mas nuevo
http://stackoverflow.com/questions/15990...oin-syntax

por otro lado, volviendo al punto 3.A sta mal porque una de las restricciones es NO usar subquerys (De ningun tipo) y estas usandolas en el where.
Ahh, no vi esa restricción en el enunciado por eso lo hice así, gracias por las respuestas!

Dps lo trato de hacer con joins y sin subconsultas y lo comparo con las resoluciones que se subieron acá.

Gracias!
Perdon pero... hago pregunta de haber tenido un profesor cho**... como se que car*** es ansi y que no?
segun "la catedra":

- triggers
- stored procedures
- functions (create function..)

no son ansi

Triggers, SP y functions son objetos agregados a las bases de datos relacionales en muchos motores, pero no en todos (por ej SQLite no tiene SP).
Y segun tengo entendido, no están definidos en la documentación ANSI oficial


despues podemos discutir algunas funciones que van en el SELECT; por ejemplo, la funcion IsNull() que te enseñan como ANSI en realidad es propia de T-SQL (sql server), mientras que COALESCE (que cumple la misma funcion) es la verdadera funcion ANSI
ANSI SQL '92 (ctrl + f de COALESCE y de ISNULL.. cual está y cual no ? por lo que leí, no se agregó en versiones posteriores)

pero a la cátedra no le importa mucho eso, asique tomá lo que dije primero de triggers, Funct y SP
select p3.nombre as UnaPersona, p4.nombre as SuPrimo
from personas P1
inner join Personas P2 on P1.idpadre = p2.idpadre and p1.id < p2.id
inner join personas p3 on p1.id = p3.idpadre
inner join personas p4 on p2.id = p4.idpadre

solo modifique el segundo and del primer join. al poner menor en lugar de distintos ya elimino los duplicados entre los hermanos...
(her1;her2)
[s](her2;her1)[/s]
luego solo joineo a los hijos de cada uno y listo

escorrecto?
Como están gente?

Se que paso bocha de tiempo, pero viendo la resolución del trigger me entro una duda.

Gonnza estas considerando solo que los updates se hacen una única vez al día, no es cierto ? Porque ponele, que me hagan un update a la mañana, a la tarde, y otro a la noche, serian 3 updates distintos en el mismo día. Tendría 3 registros del mismo día con cantidades distintas. Tomaste como premisa que los updates se hacen una única vez al dia?

Abrazo!
la verdad eso fue hace bastante, no tengo el enunciado asique no tengo la mas palida idea de que considerar =P
Páginas: 1 2
URLs de referencia