MySQL - Consulta SQL Complicada

   
Vista:

Consulta SQL Complicada

Publicado por Nestor (2 intervenciones) el 15/05/2015 11:15:19
Hola muy buenas,

estoy haciendo una aplicacion que gestiona las actividades extraescolares de un instituto. Estoy teniendo problemas para plantear la SELECT que lanzo a la base de de datos. ¿Como podría obtener el siguiente resultado?

El modelo de mi base de datos es el siguiente

SQ9jfw

Los datos que necesito obtener son:

De la tabla PROPUESTAS: El campo Fecha, Reserva, Transporte y Entrada.

De la tabla DESTINOS: El campo Nombre y Direccion.

De la tabla GRUPOS: El campo Nombre de los grupos participantes en la propuesta.

De la tabla USUARIOS: El campo nombre y apellidos de los profesores participantes en la propuesta.

Necesito los datos para hacer un listado de propuestas.

Espero puedan orientarme.

Gracias,

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto

Consulta SQL Complicada

Publicado por Alberto (26 intervenciones) el 15/05/2015 18:02:49
Hola...

Porque no pruebas con la siguiente consulta, espero sea de tu utilidad, pero primero asegúrate de que todos los campos estén bien escritos ya que posiblemente me haya equivocado...

1
2
3
4
5
6
SELECT p.fecha,p.reserva,p.transporte,p.entrada,d.nombre,d.direccion,g.nombre,u.nombre,u.apellidos FROM destinos d
INNER JOIN propuestas p ON d.cod_destino=p.destino
INNER JOIN grupo_participantes_propuesta gpp ON p.cod_propuesta=gpp=cod_propuesta
INNER JOIN profesores_participantes_propuesta ppp ON p.cod_propuesta=ppp.cod_propuesta
INNER JOIN grupos g ON gpp.id_grupo=g.id_grupo
INNER JOIN usuarios u ON ppp.usuario=u.usuario

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consulta SQL Complicada

Publicado por Nestor (2 intervenciones) el 16/05/2015 13:35:44
Hola Alberto, muchas gracias por tu respuesta.

Practicamente has clavado la consulta. Ahora me surje otra duda.

Con la consulta que tu me pasaste:

1
2
3
4
5
6
7
8
9
SELECT p.cod_propuesta, p.fecha,p.reserva,p.transporte,p.entrada,d.nombre as destino,d.direccion,g.nombre as grupos,u.nombre,u.apellidos FROM destinos d
 
INNER JOIN propuestas p ON d.cod_destino=p.destino
 
INNER JOIN grupos_participantes_propuesta gpp ON p.cod_propuesta = gpp.cod_propuesta
 
INNER JOIN profesores_participantes_propuesta ppp ON p.cod_propuesta=ppp.cod_propuesta
 
INNER JOIN grupos g ON gpp.id_grupo=g.id_grupo INNER JOIN usuarios u ON ppp.usuario=u.usuario


Obtengo el siguiente resultado:

WPUFam

A mi me interesa que no se dupliquen resultados. Por ejemplo, que para la propuesta 1 (en una sola fila) el campo grupos contenga los grupos que participan en la propuesta y que no se generen tantas filas como grupos participen en la propuesta 1. Lo mismo seria para el nombre y apellidos de los profesores que participan en la propuesta.

¿Es esto posible? Muchas gracias,

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar