MAX () последние даты, Неверные объекты - PullRequest
0 голосов
/ 08 ноября 2011

Я пытаюсь создать таблицу с последней датой проката фильмов для каждого клиента.

В настоящее время у меня есть представление, которое охватывает большинство необходимых данных, за исключением даты возврата каждого фильма для каждого клиента, эта информация находится в таблице, называемой прокатом, на которую я не могу ссылаться в разделе ОТ, посколькуконфликтует с ВЗГЛЯДОМ.

это то, что я сейчас сделал, но я продолжаю получать ошибку недопустимого объекта в некоторых таблицах.такие как rentals и rental_view.

SELECT  customer_name
  , COUNT(DISTINCT rental_id) AS Number_of_Rentals
  , latest_rental
FROM Rental_view,
(SELECT MAX(return_date) AS latest_rental FROM rentals) 
 latest_rental
GROUP BY customer_id, customer_name
ORDER BY customer_id, customer_name

Не уверен, что здесь не так, есть второй вложенный оператор SELECT в правильном месте, и я правильно его использую?вопрос для контекста.

"Создайте запрос, который показывает имя клиента, количество арендных плат, последнюю дату аренды и среднюю продолжительность аренды всех клиентов."

Обновлен код.

SELECT  customer_name
  , COUNT(DISTINCT r.rental_id) AS Number_of_Rentals
  , MAX(r.return_date) AS latest_rental 
  , AVG(rv.rental_duration) AS AVG_Rental_duration
FROM  Rental_View AS rv JOIN rentals AS r
    ON r.rental_id = rv.rental_ID
GROUP BY rv.customer_id, customer_name
ORDER BY rv.customer_id, customer_name  

1 Ответ

0 голосов
/ 08 ноября 2011

DO JOIN между арендными ставками и Rental_View с использованием customer_id.
Если вы хотите включить в результаты только результаты, в которых customer_id есть, используйте INNER JOIN.

SELECT  customer_name
  , COUNT(DISTINCT r.rental_id) AS Number_of_Rentals
  , MAX(r.return_date) AS latest_rental 
  , AVG(rv.rental_duration) AS AVG_Rental_duration
FROM  Rental_View AS rv 
INNER JOIN rentals AS r
    ON r.rental_id = rv.rental_ID
GROUP BY rv.customer_id, customer_name
ORDER BY rv.customer_id, customer_name  

также ваш скрипт View.

...