Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta

Estas en el tema de Consulta en el foro de Bases de Datos General en Foros del Web. Una Consulta. Tengo un ejercicio que me dieron donde tengo que colocar la sentencia correcta la misma es Select materia, sum(edad) from alumnos a, materia ...
  #1 (permalink)  
Antiguo 12/12/2008, 14:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 10
Antigüedad: 16 años, 7 meses
Puntos: 0
Consulta

Una Consulta. Tengo un ejercicio que me dieron donde tengo que colocar la sentencia correcta la misma es

Select materia, sum(edad) from alumnos a, materia b where a.materia = b.materia and codigo * material

otra: Select materia, Max(Parcial1), Max(Parcial2) from alumnos, calificaciones group by material where alumnos id_materia = Calificaciones id_matricula materia = 1

Otra: update from pagos alumnos set 1 where codigo > 10 and havin count(*) =2

Otra: delete alumnos where codigo < 10 group by id_alumos.

Desde ya muchas gracias si alguien me responde
  #2 (permalink)  
Antiguo 12/12/2008, 15:39
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: Consulta

Veo 4 consultas, te piden decir cual es la correcta? podrias ordenar un poco tus select para que sea mas facil poder apoyarte.

Saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #3 (permalink)  
Antiguo 12/12/2008, 16:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta

Analicemos por SQL estándar :

Código sql:
Ver original
  1. SELECT  materia, SUM(edad)
  2. FROM alumnos a, materia b
  3. WHERE a.materia = b.materia AND codigo * material;
Parece correcta, salvo por el codigo * material, que nunca lo he visto aplicado así.

Código sql:
Ver original
  1. SELECT materia, MAX(Parcial1), MAX(Parcial2)
  2. FROM alumnos, calificaciones
  3. GROUP BY material
  4. WHERE alumnos id_materia = Calificaciones id_matricula materia = 1;
Mal escrita. El GROUP BY va después del WHERE.

Código sql:
Ver original
  1. UPDATE FROM pagos alumnos SET 1
  2. WHERE codigo > 10 AND HAVING COUNT (*) =2
Mal escrita, después de UPDATE va el nombre de la tabla, y FROM no es cláusula de UPDATE, además de faltar a qué campo se le asigna 1.

Código sql:
Ver original
  1. DELETE alumnos
  2. WHERE codigo < 10
  3. GROUP BY id_alumos.
Mal escrita. Le falta el FROM y GROUP BY no es cláusula de DELETE.

Conclusión: La primera parece correcta. El codigo*material, en esencia no hace nada, por lo que funcionaría. Esa es la única correcta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 13/12/2008, 06:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 10
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Consulta

Muchisimas gracias por tu respuesta, ahora los arregle los ejercicios y estan saliendo. Como a vos me quedo la duda del codigo * material.

De nuevo gracias.
  #5 (permalink)  
Antiguo 13/12/2008, 06:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta

Lo probé con MySQL, en una consulta similar, y no hace nada pero tampoco genera error. Si no me equivoco, la consulta debería suprimir aquellos registros donde ese producto diese cero. Como no tenía ninguno en ese estado, no lo probé.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:49.