Sql MAX()最新日期,无效对象

Sql MAX()最新日期,无效对象,sql,if-statement,getdate,Sql,If Statement,Getdate,我正在尝试为每个客户创建一个表,其中包含电影租赁的最新日期 目前,我有一个视图,它涵盖了除每位客户每部电影的归还日期之外的大部分必需数据,该信息位于名为rentals的表中,我无法在FROM部分中引用该表,因为它与视图冲突 这是我目前所做的,但是我在一些表上不断得到一个无效的对象错误。例如租金和租金视图 SELECT customer_name , COUNT(DISTINCT rental_id) AS Number_of_Rentals , latest_rental FROM R

我正在尝试为每个客户创建一个表,其中包含电影租赁的最新日期

目前,我有一个视图,它涵盖了除每位客户每部电影的归还日期之外的大部分必需数据,该信息位于名为rentals的表中,我无法在FROM部分中引用该表,因为它与视图冲突

这是我目前所做的,但是我在一些表上不断得到一个无效的对象错误。例如租金和租金视图

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
不确定这里出了什么问题,a是否将第二个嵌入的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  
使用客户id在rentals和Rental_视图之间进行连接。 如果只希望在两个表中都包含具有customer_id的结果,请使用内部联接


请同时发布您的视图脚本。

是的,我已经完成了大部分工作。。。只是我不断遇到的这些小错误。这相当令人沮丧。为什么你从两个表中选择而不合并结果?这不是正确的方法!为了获得有意义的结果,您需要在一些公共列上加入Rental_视图和Latest_Rental。Rental_视图和Latest_Rental是否都有客户id?Rental_视图有客户id,Latest_Rental没有,因为它是为从Rental表中检索最新的_Rental日期而创建的列。rental表在rental_视图中使用,但当我尝试在不添加第二条SELECT语句的情况下包含Rentals时,我对rental_id有问题,因为它同时位于rental_视图和名为Rentals的表中。所以我的问题应该是:Rentals是否有客户id?
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