Данные клиента, основанные на количестве бронирований - PullRequest
1 голос
/ 19 апреля 2019

Написать запрос для отображения идентификатора пользователя и имени пользователя, если количество мест, забронированных пользователем в индивидуальном бронировании, больше 1. Отображать записи в порядке возрастания по имени пользователя.

Я пробовал этозапрос, и я получаю ошибки.Пожалуйста, помогите мне !!

select u.user_id,u.name 
     from users u join bookingdetails bd 
     on u.name=bd.name
     join tickets t on u.user_id=t.user_id
     group by u.name
     having count(t.no_seats) > 1
     order by u.name;

1 Ответ

0 голосов
/ 19 апреля 2019

Если я понимаю ваше задание, похоже, что вы должны сделать

WITH cteBookings AS (SELECT bd.USER_ID, SUM(t.NO_SEATS) AS TOTAL_SEATS_BOOKED
                       FROM BOOKINGDETAILS bd 
                       INNER JOIN PAYMENTS p
                         ON p.BD_ID = bd.BD_ID
                       INNER JOIN TICKETS t
                         ON t.TICKET_ID = p.TICKET_ID
                       GROUP BY bd.USER_ID)
SELECT DISTINCT b.USER_ID, u.USER_NAME
  FROM USERS u
  INNER JOIN cteBookings b
    ON b.USER_ID = u.USER_ID
  WHERE b.TOTAL_SEATS_BOOKED > 1
  ORDER BY u.USER_NAME ASC

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...