@Sneiksus

Почему запрос не работает корректно?

Есть такой запрос

SELECT fl.flight_id, COUNT(s.seat_no) as aircraft_capacity, COUNT(b.seat_no) as
load, (COUNT(b.seat_no)/COUNT(s.seat_no)::float)*100::numeric(10,2)
FROM bookings.flights fl
JOIN bookings.aircrafts a ON fl.aircraft_code = a.aircraft_code
JOIN bookings.seats s ON a.aircraft_code = s.aircraft_code
LEFT JOIN bookings.boarding_passes b ON fl.flight_id = b.flight_id AND s.seat_no =
b.seat_no
WHERE fl.flight_no = 'PG0242'
GROUP BY fl.flight_id, a.model
ORDER BY fl.flight_id


Он возвращает большинство строчек правильною. Но 3 и 4 столбец иногда равен 0 (хотя там должны быть какие то значения). Как его переписать ?

640cd204d37a6309168559.png
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 1
@pavelpressf
SELECT fl.flight_id, COUNT(s.seat_no) as aircraft_capacity, COALESCE(COUNT(b.seat_no), 0) as
load, (COALESCE(COUNT(b.seat_no), 0)/COUNT(s.seat_no)::float)*100::numeric(10,2)
FROM bookings.flights fl
JOIN bookings.aircrafts a ON fl.aircraft_code = a.aircraft_code
JOIN bookings.seats s ON a.aircraft_code = s.aircraft_code
LEFT JOIN bookings.boarding_passes b ON fl.flight_id = b.flight_id AND s.seat_no =
b.seat_no
WHERE fl.flight_no = 'PG0242'
GROUP BY fl.flight_id, a.model
ORDER BY fl.flight_id
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы