【发布时间】:2023-03-26 06:05:01
【问题描述】:
所以我需要完成一个查询,但我收到了这个错误。我已经很久没有使用 MySQL 了,所以我确定这与我不了解 MySQL 的工作原理有关。
数据库:http://dev.mysql.com/doc/sakila/en/
图表:https://dev.mysql.com/doc/workbench/en/images/wb-sakila-eer.png
我主要与客户、租赁、付款打交道。
我需要一份客户列表,包括他们的平均租金金额以及他们最近的租金/归还日期。
SELECT
DISTINCT customer.customer_id, customer.last_name, customer.first_name,
customer.email, AVG(payment.amount) 'Average Rental',
max(rental.rental_date) 'Most Recent Rental Date',
max(rental.return_date) 'Most Recent Return Date'
FROM customer
INNER JOIN rental
ON rental.rental_id = payment.rental_id
AND customer.customer_id = rental.customer_id
INNER JOIN payment
ON payment.rental_id = rental.rental_id
AND payment.customer_id = customer.customer_id
GROUP BY customer_id
ORDER BY customer.last_name;
错误:
Error Code: 1054. Unknown column 'payment.rental_id' in 'on clause'
有人可以解释为什么它会给出这个错误,即使该列存在?
另外,我该如何解决这种情况。
【问题讨论】: