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

Necesito ayuda con ejercicio SQL

Estas en el tema de Necesito ayuda con ejercicio SQL en el foro de Mysql en Foros del Web. Hola a todos soy nuevo en el foto y tambien en bases de datos mysql... Estoy realizando un ejercicio que trata de crear una base ...
  #1 (permalink)  
Antiguo 04/09/2010, 06:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Necesito ayuda con ejercicio SQL

Hola a todos soy nuevo en el foto y tambien en bases de datos mysql...

Estoy realizando un ejercicio que trata de crear una base de datos que seguidamente adjunto el enunciado aqui ---> [URL="http://www14.zippyshare.com/v/90052949/file.html"]http://www14.zippyshare.com/v/90052949/file.html[/URL]

Y aqui os pondre lo que llevo realizado hasta ahora...y no se avanzar mas ---> [URL="http://www23.zippyshare.com/v/45093097/file.html"]http://www23.zippyshare.com/v/45093097/file.html[/URL]

Estoy triste, por que este ejercicio obligatorio es para un curso de pago que estoy haciendo que trata de php y mysql y me quedan 14 dias para que me caduque la matricula y aun me quedan 2 temas mas que tratan sobre base datos y tambien me queda realizar un proyecto final, si me caduca la matricula y no termino tendre que volver a pagar cosa que no puedo puesto que ando un poco mal de economia...

Si son tan amables de ayudarme os lo agradeceria muchisimo, saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 04/09/2010, 09:15
 
Fecha de Ingreso: noviembre-2003
Ubicación: alicante
Mensajes: 44
Antigüedad: 20 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda con ejercicio SQL

Cuelga el codigo aqui en el foro.
Personalmente no me gusta descargar ficheros que no conozco.
Como minimo, indica de que va el problema

salu2
  #3 (permalink)  
Antiguo 04/09/2010, 13:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

AQUI EL CODIGO SQL:

# CREAMOS LA BASE DE DATOS #
################################################## ##############################

Create Database If Not Exists liga_baloncesto;

# ABRIMOS LA BASE DE DATOS #
################################################## ##############################

Use liga_baloncesto;

# CREAMOS LAS TABLAS #



################################################## ##############################

Create Table If Not Exists equipos (
registro INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(30) NOT NULL,
nombre_entrenador VARCHAR(35) NOT NULL,
nombre_cancha VARCHAR(30) NOT NULL,
poblacion VARCHAR(25) NOT NULL,
anio_fundacion INT NOT NULL,
anotaciones BLOB);

Create Table If Not Exists partidos (
registro INT PRIMARY KEY AUTO_INCREMENT,
id_equipo1 INT NOT NULL,
resultado_equipo1 INT NOT NULL,
id_equipo2 INT NOT NULL,
resultado_equipo2 INT NOT NULL);

# AÑADIMOS REGISTROS A LA TABLA "equipos" #
################################################## ##############################

INSERT INTO equipos
VALUES (0, "Boston Celtics" , "Entrenador-1", "TD Banknorth Garden", "Boston", 1995, "Balon que cojen, balon que encestan.");
INSERT INTO equipos
VALUES (1, "New Jersey Nets" , "Entrenador-2", "Izod Center", "East Rutherford, Nueva Jersey", 1981, "Mates impresionantes.");
INSERT INTO equipos
VALUES (2, "New York Knicks" , "Entrenador-3", "Madison Square Garden (IV)", "Nueva York", 1968, "Los mas rapidos.");
INSERT INTO equipos
VALUES (3, "Philadelphia 76ers" , "Entrenador-4", "The Spectrum", "Filadelfia", 1967, "Mejores estrategas");
INSERT INTO equipos
VALUES (4, "Toronto Raptors" , "Entrenador-5", "Rogers Centre", "Toronto, Ontario", 1989, "Mejor quitarse del medio.");
INSERT INTO equipos
VALUES (5, "Atlanta Hawks" , "Entrenador-6", "Philips Arena", "Atlanta, Georgia", 1999, "Triples y mas triples.");
INSERT INTO equipos
VALUES (6, "Charlotte Bobcats" , "Entrenador-7", "Charlotte Bobcats Arena", "Charlotte, North Carolina", 2005, "Pequeños pero matones.");
INSERT INTO equipos
VALUES (7, "Miami Heat" , "Entrenador-8", "Miami Arena", "Miami, Florida", 1987, "Lentos pero precisos.");


# AÑADIMOS REGISTROS A LA TABLA "partidos" #
################################################## ##############################

INSERT INTO partidos
VALUES (0, 1, 0, 2, 0);
INSERT INTO partidos
VALUES (1, 1, 1, 2, 0);
INSERT INTO partidos
VALUES (2, 1, 2, 2, 3);
INSERT INTO partidos
VALUES (3, 1, 4, 2, 5);
INSERT INTO partidos
VALUES (4, 1, 6, 2, 5);
INSERT INTO partidos
VALUES (5, 1, 2, 2, 9);
INSERT INTO partidos
VALUES (6, 1, 0, 2, 2);
INSERT INTO partidos
VALUES (7, 1, 4, 2, 3);

# MOSTRAMOS TODOS LOS CAMPOS DE LA TABLA "EQUIPOS" #
################################################## ##############################

SELECT * FROM equipos;

# MOSTRAMOS LOS REGISTROS DE UNA DETERMINADA POBLACION #
################################################## ##############################

SELECT nombre, nombre_entrenador, nombre_cancha FROM equipos WHERE poblacion="Boston";

# MOSTRAMOS: NOMBRE DE EQUIPO, POBLACION Y ANOTACIONES PERO SOLO LOS QUE #
# EMPIECEN POR LA LETRA "C" #
################################################## ##############################

SELECT nombre, poblacion, anotaciones FROM equipos WHERE nombre LIKE 'c%';

# MOSTRAMOS: EL Nº DE EQUIPOS Y POBLACION AGRUPADOS POR LA POBLACION ORDENADOS #
# DECRECIENTEMENTE POR EL Nº DE EQUIPOS #
################################################## ##############################

SELECT Count(nombre) AS nombre, poblacion FROM liga_baloncesto.equipos GROUP BY poblacion ORDER BY poblacion DESC;

# MOSTRAMOS: EL AÑO MAS ANTIGUO DE LA FUNDACION DE LA LIGA #
################################################## ##############################

SELECT min(anio_fundacion) as Año from equipos;


Y si te fijas es un archivo .doc por lo que no tienes que tener miedo de todos modos para mas seguridad escanealo en www.novirusthanks.org pero vamos te repito que no intento nada malo pero bueno puedes hacer lo que quieras... si te lo descargas y lees sabras de que va el ejercicio
  #4 (permalink)  
Antiguo 04/09/2010, 17:03
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

Creo que sería mucho más provechoso para tu aprendizaje (a fin de cuentas ése es el objetivo de que hagas el curso), que nos plantearas los problemas puntuales en las consultas que te causan dificultades, y no que nos pidas que resolvamos tu TP, porque eso es lo que pareces estar solicitando.
Evidentemente, si has hecho una parte, aunque sea mínima, del trabajo es porque algo entiendes pero te puede faltar experiencia en determinados problemas.
Bien: ¿Cuáles son?
Postea por lo menos la consigna a responder que te los causa (no pienso descargar un .doc ni aunque Peter Norton me lo garantice).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 05/09/2010, 04:09
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

No no todo lo contrario no quiero que me lo hagais, solo intento que alguien me explique las cosas que no vaya entendiendo, que me de pistas de por donde ir o algo...
Por ejemplo si nos fijamos en el archivo .doc que adjunte arriba en el punto 4 donde dice "Mostrar la informacion de las tablas de la siguiente forma:", en el apartado mas abajo donde dice: "Partidos jugados, nombre del equipo1 , nombre equipo2", ahi ya nose como hacerlo...

Saludos y gracias de antemano.
  #6 (permalink)  
Antiguo 05/09/2010, 08: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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

Cita:
Por ejemplo si nos fijamos en el archivo .doc que adjunte arriba en el punto 4 donde dice "Mostrar la informacion de las tablas de la siguiente forma:", en el apartado mas abajo donde dice: "Partidos jugados, nombre del equipo1 , nombre equipo2", ahi ya nose como hacerlo...
Ya te dije que no pienso descargar un .doc ni aunque Peter Norton me lo garantice..
Postea la consigna que está en el .doc tu mismo. No voy a descargar el archivo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 05/09/2010, 09:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

Toma aqui estan e tomado capturas al .doc puesto que no me dejaba copiar el contenido parece ser que esta protegido o algo nose aki adjunto las fotos las e alojado en un servidor.

PAG 1 Y 2:

http://yfrog.com/napag1ij

PAG 3:

http://yfrog.com/1gpag2pj
  #8 (permalink)  
Antiguo 05/09/2010, 17:31
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

El caso no es un misterio muy grande
Necesitas obtener la tabla de resultados de los partidos, esto es: Equipo 1 | Goles | Equipo 2 | Goles. Para lograrlo tienes dos tablas, pero como debes obtener los nombres de los dos equipos, y con cada JOIN sólo se puede lograr el de uno sólo al mismo tiempo, la solución es invocar un triple JOIN con dos invocaciones a cada tabla Equipo y ponerle alias a cada una.
Usando una consulta eficiente:
Código MySQL:
Ver original
  1.     A.nombre Equipo1,
  2.     P.resultado_equipo1 Resultado2,
  3.     B.nombre Equipo2,
  4.     P.resultado_equipo1 Resultado_2
  5.     equipos A
  6.     INNER JOIN partidos P ON A.registro = P.registro_equipo1
  7.     INNER JOIN equipos B ON B.registro = P.registro_equipo2
  8. ORDER BY Equipo1;

Usando una consulta ineficiente (la que a ti te enseñan):
Código MySQL:
Ver original
  1.     A.nombre Equipo1,
  2.     P.resultado_equipo1 Resultado1,
  3.     B.nombre Equipo2,
  4.     P.resultado_equipo1 Resultado_2
  5. FROM equipos A, partidos P, equipos B
  6. WHERE A.registro = P.registro_equipo1 AND B.registro = P.registro_equipo2
  7. ORDER BY Equipo1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 05/09/2010, 17:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

muchisimas gracias gnzsoloyo me ha sido de mucha utilidad, voy a intentar seguir jejeje es que soy nuevo llevo 2 meses en php y ahora es cuando estoy empezando a tocar sql y es normal que me sea dificil aun pero bueno poco a poco jeje veremos ni no regreso jejejejejejeje dentro de poco con alguna otra duda....
venga lo dicho muchas gracias y perdonen las molestias.
  #10 (permalink)  
Antiguo 05/09/2010, 17:54
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

NO hay problema.
Suerte
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 06/09/2010, 06:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

no se por que pero ambos codigos me dan error
  #12 (permalink)  
Antiguo 06/09/2010, 06:36
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

Sé más explícito. Decir que te da error es muy abstracto.

¿Qué error? ¿Cuál número de error? ¿Qué dice el mensaje completo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 06/09/2010, 08:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

Con este codigo:

Código:
SELECT
* * A.nombre Equipo1, 
* * P.resultado_equipo1 Resultado1, 
* * B.nombre Equipo2, 
* * P.resultado_equipo1 Resultado_2
FROM equipos A, partidos P, equipos B 
WHERE A.registro = P.registro_equipo1 AND B.registro = P.registro_equipo2
ORDER BY Equipo1;
--------------------------------------------------------------------------------------------------------


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'A.nombre Equipo1,
* * P.resultado_equipo1 Resultado1,
* * B.nombre Equip' at line 2
  #14 (permalink)  
Antiguo 06/09/2010, 09:15
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

¿Y esos astericos? ¿para qué los has puesto?

Código MySQL:
Ver original
  1.   A.nombre Equipo1,
  2.   P.resultado_equipo1 Resultado1,
  3.   B.nombre Equipo2,
  4.   P.resultado_equipo2 Resultado_2
  5. FROM equipos A, partidos P, equipos B
  6. WHERE P.id_equipo2 = a.registro AND P.id_equipo2 = B.registro
  7. ORDER BY Equipo1;
  8.  
  9. +-----------------+------------+-----------------+-------------+
  10. | Equipo1         | Resultado1 | Equipo2         | Resultado_2 |
  11. +-----------------+------------+-----------------+-------------+
  12. | New York Knicks |          1 | New York Knicks |           0 |
  13. | New York Knicks |          2 | New York Knicks |           9 |
  14. | New York Knicks |          2 | New York Knicks |           3 |
  15. | New York Knicks |          0 | New York Knicks |           2 |
  16. | New York Knicks |          4 | New York Knicks |           5 |
  17. | New York Knicks |          4 | New York Knicks |           3 |
  18. | New York Knicks |          0 | New York Knicks |           0 |
  19. | New York Knicks |          6 | New York Knicks |           5 |
  20. +-----------------+------------+-----------------+-------------+
  21. 8 rows in set (0.00 sec)

Fuera de eso, había algunos errores con los nombres de los campos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 06/09/2010 a las 09:50
  #15 (permalink)  
Antiguo 06/09/2010, 09:52
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

Tip final: Ten cuidado con el script de carga: No se debe poner un ID de valor cero (0), porque los autoincrement en MySQL parten de 1.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 06/09/2010, 10:14
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

lo de los asteriscos se ha puesto solo pero yo asi no lo he introducido en mysql eso habra sio al copiarlo de aki de la propia pag jejej voy a probar a ver
  #17 (permalink)  
Antiguo 06/09/2010, 10:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

ahora parece que si funciona pero me he dado cuenta que al poner el codigo tal y como tu me lo has puesto me daba error de sintaxis entonces lo cambien en vez de ponerlo escalonado lo puse en una linea asi

SELECT A.nombre Equipo1, P.resultado_equipo1 Resultado1, B.nombre Equipo2, P.resultado_equipo2 Resultado_2 FROM equipos A, partidos P, equipos B WHERE P.id_equipo2 = a.registro AND P.id_equipo2 = B.registro ORDER BY Equipo1;
  #18 (permalink)  
Antiguo 06/09/2010, 11: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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

¿Qué estas´usando para hacer las pruebas de SQL?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #19 (permalink)  
Antiguo 06/09/2010, 16:17
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

el mysql server 4.1 que ese es por msdos y tb uso el MySql Query Browser 1.1.10 que este es el que muestro en la foto por?
  #20 (permalink)  
Antiguo 06/09/2010, 18:01
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, 4 meses
Puntos: 2658
Respuesta: Necesito ayuda con ejercicio SQL

¿Por qué un MySQL tan viejo?
¿Es un requerimiento del curso?

Con una versión tan antigua muchos problemas de sintaxis pueden terminar siendo en realidad bugs de la versión. La colección de defectos del 4.1 es enorme, además es una versión cuyo mantenimiento venció en diciembre del año pasado.
REspecto al MySQL Query Browser, si bien es una buena elección, también es algo vieja (la última fue la 1.2.15), y es obsoleta. El paquete de las MySQL GUI Tools fue reemplazado por el MySQL Workbench, que actualmente está en su versión 5.2.27.

En cualquier caso, el primer problema que tienes es la versión de MySQL: 4.1 es demasiado vieja y está llena de errores que conspiran en contra.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #21 (permalink)  
Antiguo 06/09/2010, 18:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

Si, son las que requieren en el curso pero bueno jejejejeej venga voy a ver si puedo hacer algo mas jejejeejej gracias tio
  #22 (permalink)  
Antiguo 06/09/2010, 19:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Necesito ayuda con ejercicio SQL

Que va macho... el siguiente apartado tampoco se hacerlo es que para mi punto de vista en este ejercicio te piden realizar cosas que no has visto en la teoria pero bueno, empeze ha hacerlo yo solo hasta que me tope con estos apartados el cual me suenan a chino, en cambio lo que yo realize por mi mismo en el principio del ejercicio eso si que viene teoria pero esto pff... ni idea....

Última edición por maxinitto; 06/09/2010 a las 19:19

Etiquetas: sql
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:37.