Práctico 4 - propuestas de soluciones y duda

Práctico 4 - propuestas de soluciones y duda

de Eva Sofia Martinez Freda -
Número de respuestas: 3

Buenas,

Comparto en el archivo adjunto las soluciones a las que llegamos con este práctico.

En particular tengo una duda con el ejercicio 8, "obtener la cantidad de tickets vendidos por vuelo con la cantidad de asientos totales del avión."

Tengo el siguiente código:

select tf.flight_id , count(tf.ticket_no) as tickets_sold , c.seats
from ticket_flights tf , (select f.flight_id , count(s.seat_no) as seats
from seats s , flights f
where s.aircraft_code = f.aircraft_code
group by f.flight_id) c
where tf.flight_id = c.flight_id
group by tf.flight_id , c.seats
order by tf.flight_id asc;

Pero no entiendo si esa es la mejor solución o si por lo menos es a la que se pretende que lleguemos. Con los otros ejercicios no tuve problema con las subconsultas (siempre puestas en el where, como pueden ver en el archivo) pero acá no se me ocurre otra forma que hacerlo consultando la tabla generada a partir de la subconsulta.

Gracias por leerme,
Saludos.

En respuesta a Eva Sofia Martinez Freda

Re: Práctico 4 - propuestas de soluciones y duda

de Gastã“N Barcelo Rodriguez -
Hola, esta es mi solución al ejercicio:

select tf.flight_id "id del vuelo" , count(distinct tf.ticket_no)"tickets comprados" , count(distinct s.seat_no) "asientos totales"
from ticket_flights tf , seats s , flights f
where tf.flight_id = f.flight_id and s.aircraft_code = f.aircraft_code
group by tf.flight_id
order by tf.flight_id