Sql 使用多个联接编写查询时遇到问题

Sql 使用多个联接编写查询时遇到问题,sql,postgresql,join,Sql,Postgresql,Join,我正在尝试编写一个查询,该查询将显示客户id、名字、姓氏和返回日期。我需要弄清楚谁是最后一个租这部电影的人。我知道我需要密切关注库存、电影、租赁和客户表。我只是不知道怎么写 这就是我所拥有的: SELECT DISTINCT customer.customer_id, customer.first_name, customer.last_name, rental.customer_id, rental.return_date FROM customer, rental

我正在尝试编写一个查询,该查询将显示客户id、名字、姓氏和返回日期。我需要弄清楚谁是最后一个租这部电影的人。我知道我需要密切关注库存、电影、租赁和客户表。我只是不知道怎么写

这就是我所拥有的:

SELECT DISTINCT 
    customer.customer_id, customer.first_name,
    customer.last_name, rental.customer_id, rental.return_date 
FROM
    customer, rental 
WHERE 
    customer.customer_id = rental.customer_id 


你提供的信息很难说,但你可以试试:

SELECT customer.customer_id, customer.first_name, customer.last_name, rental.customer_id, rental.return_date
FROM customer FULL JOIN rental
ON  customer.customer_id=rental.customer_id 
WHERE rental.return_date=(
    SELECT MAX(return_date)
    FROM rental
);

也可以使用内部联接、左联接或右联接。你选择什么取决于你的型号

您的模型不可访问我在您发布的模型中看不到rental.return\u日期。您必须提供更多详细信息。例如,您是否在任何地方有时间信息?或者租金id始终是递增序列?我猜,一旦您成功地加入表,那么相关列按降序排列的顺序应该可以完成这项工作。此相关列可以是时间/日期列或序列列。请考虑提供更多的信息。我已经添加了表和列。对不起,我应该在我原来的帖子中添加这些。租赁表中有时间信息。不知道这次我是否更清楚了在ANSI-92 SQL标准中(超过25年前),旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,它的使用是不鼓励的。这是多么棒!我想我有点了解如何编写查询。我基本上需要找出哪位顾客租了一部电影,所以我需要从租借栏中添加标题。。。我想。对不起,如果我不太清楚,英语不是我的第一语言。