У меня есть столбец с именем vs_tblRentals, в котором есть следующие столбцы:
RENTALID CUSTOMERID BOXID RENTALDATE RETURNDATE
А также столбец с именем vs_tblBoxes, в котором есть следующие столбцы
BOXID MOVIEID MEDIUMTYPECODE DATEBOXRECEIVED
Я пытаюсь создатьзапрос, который извлекает, сколько раз каждое значение в столбце BoxID vs_tblBoxes появляется в столбце BoxID vs_tblRentals, по сути говоря, сколько раз было арендовано каждое поле.Я могу сделать это с помощью следующей команды:
SELECT COUNT(vs_tblRentals.BoxID) AS RentalCount
FROM vs_tblRentals
LEFT JOIN vs_tblBoxes B ON vs_tblRentals.BoxID = B.BoxID
GROUP BY vs_tblRentals.BoxID;
Однако я также хочу отображать информацию рядом с RentalCount, которая НЕ является частью группы - в идеале мой вывод будет выглядеть примерно так:
BoxID MovieID MediumTypeCode RentalCount
Я также хотел бы отобразить все записи в vs_tblRentals для боксов, которые были арендованы более 5 раз.
Как это должно быть сделано в Oracle 12c?
РЕДАКТИРОВАТЬ:
Следующий код успешно получает арендный счет для каждого BoxID:
SELECT COUNT(vs_tblRentals.BoxID) AS RentalCount, vs_tblRentals.BoxID
FROM vs_tblRentals
LEFT JOIN vs_tblBoxes B ON vs_tblRentals.BoxID = B.BoxID
GROUP BY vs_tblRentals.BoxID;
и выводит следующее:
RENTALCOUNT BOXID
1 337
1 691
1 43
4 321
4 123
4 665
4 674
НоЯ не могу заставить это работать при отображении другой информации о BoxID вместе с этим.
Пример данных из vs_tblBoxes:
BOXID MOVIEID MEDIUMTYPECODE DATEBOXRECEIVED
257 702 BD 22-Nov-1953
258 708 VHS 16-Jul-1988
259 708 DVD 16-Jul-1988
Пример данных из vs_tblRentals
RENTALID CUSTOMERID BOXID RENTALDATE RETURNDATE
1 1 257 06-Apr-2018 22-Apr-2018
2 1 257 22-Mar-2018 NULL
3 1 259 26-Feb-2018 16-Mar-2018