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

Revisen mi consulta SQL, que errores tiene?

Estas en el tema de Revisen mi consulta SQL, que errores tiene? en el foro de Mysql en Foros del Web. SELECT proyecto.titulo_proyecto, comunidad.nombre_comunidad, reprecomunidad.nombre_reprecomunidad, estudiantes.nombre_estudiantes, profesor.nombre_profesor, defensa.fecha_defensa FROM proyecto INNER JOIN comunidad ON proyecto.titulo_proyecto=comunidad.nombre_comunida d INNER JOIN reprecomunidad ON comunidad.nombre_comunidad=reprecomunidad.nombre_r eprecomunidad INNER JOIN reprecomunidad ON ...
  #1 (permalink)  
Antiguo 16/09/2012, 23:10
 
Fecha de Ingreso: septiembre-2012
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Mensaje Revisen mi consulta SQL, que errores tiene?

SELECT proyecto.titulo_proyecto, comunidad.nombre_comunidad, reprecomunidad.nombre_reprecomunidad,
estudiantes.nombre_estudiantes, profesor.nombre_profesor, defensa.fecha_defensa

FROM proyecto
INNER JOIN comunidad ON proyecto.titulo_proyecto=comunidad.nombre_comunida d
INNER JOIN reprecomunidad ON comunidad.nombre_comunidad=reprecomunidad.nombre_r eprecomunidad
INNER JOIN reprecomunidad ON reprecomunidad.nombre_reprecomunidad=estudiantes.n ombre_estudiantes
INNER JOIN estudiantes ON estudiantes.nombre_estudiantes=profesor.nombre_pro fesor
INNER JOIN profesor ON profesor.nombre_profesor=defensa.fecha_defensa
INNER JOIN defensa ON defensa.fecha_defensa=profesor.nombre_profesor


en phpmyadmin dice este error:

#1066 - Not unique table/alias: 'reprecomunidad'
  #2 (permalink)  
Antiguo 17/09/2012, 02:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Revisen mi consulta SQL, que errores tiene?

Puedes poner dos veces la misma tabla pero con alias distintos...

SELECT proyecto.titulo_proyecto, comunidad.nombre_comunidad, ALIAS???.nombre_reprecomunidad,
estudiantes.nombre_estudiantes, profesor.nombre_profesor, defensa.fecha_defensa
...
INNER JOIN reprecomunidad r1 ON comunidad.nombre_comunidad=r1.nombre_r eprecomunidad
INNER JOIN reprecomunidad r2 ON r2.nombre_reprecomunidad=estudiantes.n ombre_estudiantes


pero en este caso no creo que sea necesario repetir la tabla.


Código MySQL:
Ver original
  1. SELECT proyecto.titulo_proyecto,
  2.              comunidad.nombre_comunidad,
  3.              reprecomunidad.nombre_reprecomunidad,
  4.              estudiantes.nombre_estudiantes,
  5.              profesor.nombre_profesor,
  6.             defensa.fecha_defensa
  7. FROM ((((proyecto
  8.            INNER JOIN comunidad
  9.             ON proyecto.titulo_proyecto=comunidad.nombre_comunidad)
  10.            INNER JOIN reprecomunidad
  11.             ON comunidad.nombre_comunidad=reprecomunidad.nombre_reprecomunidad)
  12.            INNER JOIN estudiantes
  13.             ON reprecomunidad.nombre_reprecomunidad=estudiantes.n ombre_estudiantes)
  14.            INNER JOIN profesor
  15.             ON estudiantes.nombre_estudiantes=profesor.nombre_pro fesor)
  16.            INNER JOIN defensa
  17.              ON profesor.nombre_profesor=defensa.fecha_defensa


Lo que no veo nada claro son las relaciónes

ON proyecto.titulo_proyecto=comunidad.nombre_comunidad

titulo_proyecto=nombre_comunidad???

No será que un proyecto pertenece a una comunidad y luego seria

ON proyecto.idComunidad=comunidad.idComunidad

ON reprecomunidad.nombre_reprecomunidad=estudiantes.nombre_estudiantes

nombre_reprecomunidad=nombre_estudiantes ???

ON estudiantes.nombre_estudiantes=profesor.nombre_profesor

nombre_estudiantes=nombre_profesor ????

y

ON profesor.nombre_profesor=defensa.fecha_defensa

el nombre de un profe no se como puede ser igual a una fecha!!!!

no será que un profesor "preside", "asiste" o lo que sea a una defensa

ON profesor.idProfesor=defensa.idProfesor

Pongo los id suponiendo que los tengas....


Explica que quieres obtener y las relaciones entre tus tablas y se podrá corregir tu consulta....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 17/09/2012 a las 02:34
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 07:10.