MySQL - sub consultas dentro de Consultas

   
Vista:
Imágen de perfil de Valentina

sub consultas dentro de Consultas

Publicado por Valentina (2 intervenciones) el 30/07/2017 19:04:20
Buenas tardes!, espero que se encuentren bien.
Les voy a contar, estoy haciendo un trabajo con MySQL WorkBench, y tengo que realizar los siguiente:
A. Nombre de los pasajeros del vuelo número 1.
B. Promedio de pasajeros y tripulantes por vuelo.
C. Nombre del administrativo con más pasajes vendidos.
y las tablas son las siguientes,...
create table Cliente(
N°Pasaporte int (60) not null,
Nombre varchar (40) default null,
Apellido varchar (40)default null,
Telefono varchar(12)default null,
email varchar(50)DEFAULT NULL,
primary key (N°Pasaporte));

create table Empleado(
CodigoEmpleado int (12)not null ,
Nombre varchar (40) default null,
Apellido varchar (40)default null,
primary key (CodigoEmpleado));

create table Vuelo(
CodigoVuelo int (12) not null,
Destino varchar (80)DEFAULT NULL,
Capacidad int(11) DEFAULT NULL,
HorarioPartida time DEFAULT NULL,
primary key (CodigoVuelo));

create table Administrativos(
CodigoEmpleado int (12)not null ,
primary key (CodigoEmpleado));


create table Tripulantes(
CodigoEmpleado int (12)not null ,
Equipo int (20)DEFAULT NULL,
primary key (CodigoEmpleado));

create table Viaje(
CodigoViaje int (12) NOT NULL,
CodigoTripulante int (12) NOT NULL,
primary key( CodigoViaje, CodigoTripulante));

LO QUE REALICE FUE LO SIGUIENTE, pero no obtuve lo deseado .
select * from Ventas inner join Empleado on Ventas.CodigoEmpleado_Administrativos = Empleado.CodigoEmpleado group by Ventas.CodigoEmpleado_Administrativos order by (Ventas.CodigoViaje * Ventas.N°Pasaporte_Cliente) ;
select N°Pasaporte_Cliente from Ventas where N°Viaje= '1';
select Nombre, N°Pasaporte from Cliente;
select N°Pasaporte_cliente from Cliente , Ventas where N°Viaje='1';


Aclaro que ya tienen asignadas las FK , por modificación de alter table, pero aquí los borre para que no se haga lio.

Necesitaría una ayuda si serian tan amables ya que estuve tratando de comprender el uso de las subconsultas y los joins, aclaro que soy estudiante.

Desde ya muchísimas gracias!, Saludos y buenas tardes.
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

sub consultas dentro de Consultas

Publicado por leonardo_josue (171 intervenciones) el 31/07/2017 23:16:03
Hola Valentina:

en tu post nos dices esto:

1
LO QUE REALICE FUE LO SIGUIENTE, pero no obtuve lo deseado .

Pero no nos dices qué es lo que está mal con las consultas, y así resulta complicado tratar de ayudarte ya que lamentablemente la adivinación no es una habilidad muy común entre los foristas... Trata de ser lo más clara y precisa con tus preguntas, así será más factible que alguien pueda ayudarte, porque de lo contrario, corres el riesgo de que las personas ni siquiera lean tu post y o si lo hacen, no se tomen el tiempo para ayudar. Ojo con eso para la próxima.

ahora bien, dado que eres algo novata según tus propias palabras, lo primero que debes hacer es investigar lo más que puedas... para el concepto de JOIN's, siempre me ha gustado cómo lo maneja SANTA WIKIPEDIA:

https://es.wikipedia.org/wiki/Join

Dale un vistazo para que veas cómo funciona cada uno de los diferentes tipos de JOINS... en cuanto a las subconsultas, este es un tema bastante más complejo, pues estas pueden tienen muchos usos y se pueden colocar en muchas partes, por ejemplo en el SELECT para consultar algún campo, en el FROM para obtener subtablas, en el WHERE para filtrar información, etc o incluso hacer combinaciones en varias lados... entonces, trata de ir paso a paso en lugar de querer abarcar temas más avanzados que seguramente terminarás viendo en clase. Entonces, para tu trabajo debes cuidad lo siguiente.

A. Nombre de los pasajeros del vuelo número 1.
-> el nombre lo sacas de la tabla clientes, pero ¿cómo relacionas los clientes con los vuelos? en tu consulta mencionas una tabla VENTAS, pero no pones la estructura ni las relaciones...

B. Promedio de pasajeros y tripulantes por vuelo.
-> Investiga la función las funciones de agrupación COUNT y AVG, esto te permitirá primero saber cuántos pasejeros tiene cada vuelo y a partir de este dato obtener un promedio.

C. Nombre del administrativo con más pasajes vendidos.
-> Investiga la función de agrupación MAX

Haz la prueba y si continuas con problemas nos lo haces saber.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Valentina Chiparelli

sub consultas dentro de Consultas

Publicado por Valentina Chiparelli (2 intervenciones) el 01/08/2017 18:57:42
Muchísimas gracias Leo , tienes razón me he expresado mal, quise decir que al ejecutar el comando no me devolvía lo que se me pedía , pero era debido a que yo estaba utilizando mal el comando join , pero me ha servido mucho la información que me has pasado , gracias a eso pude resolver el problema , muchísimas gracias por dedicar tu tiempo en responder mi consulta y tu consejos para la próxima vez que tenga que preguntar en el foro jeje.
Que andes bien , saludos!
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