你好下面是我的代码
数据库:https://dev.mysql.com/doc/sakila/en/sakila-structure.html
select concat(first_name,' ',last_name) from
customer where customer_id in (
select customer_id from (
select customer_id, count(rental_id) as num
from
category
inner join film_category using(category_id)
inner join film using(film_id)
inner join inventory using(film_id)
inner join rental using (inventory_id)
where name='Sci-Fi'
group by customer_id, rental_id)
where num > 5)T)
当我执行时,我得到以下错误
ERROR 1248 (42000) at line 2: Every derived table must have its own alias
预期结果是 "full names of customers who have rented sci-fi movies more than 5 times. Arrange these names in the alphabetical order"
你能告诉我我犯了什么错误吗?
2条答案
按热度按时间svgewumm1#
欢迎来到so!
首先,你好像有3个开口
(
parens和4结束)
帕伦斯。你应该删除最后一个括号,这样你就有了平衡的括号。之后,您需要将别名应用于最深层次的查询(类似的问题:在mysql中“每个派生表都必须有自己的别名”的错误是什么。。。
你可能想。。。
(别忘了,不需要额外的结尾部分,所以你可以看到我删除了它。它可能是您拥有的更大查询的一部分,但对问题中的独立代码没有帮助。)
这将阻止您看到的即时错误。至少,现在在我的数据库中,我看到的错误是:
ERROR 1146 (42S02): Table 'db.customer' doesn't exist
.ylamdve62#