我使用MySQL Sakila数据库练习带有给定结果的SQL。
这是我现在正在努力解决的问题之一。
有多少部电影出租? 正确的结果:183
我内部加入广告资源,电影和租借表格。
在广告资源表格中,我有 expected expression
,inventory_id
,film_id
和store_id
在电影表中,我有last_update
,film_id
,title
,description
,release_year
,language_id
,original_language_id
,rental_duration
,rental_rate
,length
,replacement_cost
,rating
,special_features
对于租借表,我有last_update
,rental_id
,rental_date
,inventory_id
,customer_id
,return_date
,{{1} }
这是我的SQL陈述
staff_id
到目前为止,我得到的结果是每部电影的租金DVD总数......这样的事情:
那么,我怎样才能得到正确的结果?
答案 0 :(得分:1)
请尝试以下方法......
SELECT COUNT( inventory_id ) as numOfDVDsOnRent
FROM rental
WHERE return_date IS NULL;
rental
中包含了确定租金电影数量的所有信息。我们无需参考每个film
或inventory
的每个项目的详细信息来确定这一点,因此我已弃用INNER JOIN
。注意:如果JOIN
不在加入类型之前,则会执行INNER JOIN
,因此您可以根据需要输入JOIN
。
因此,我们需要做的就是计算rental
中条目尚未返回日期的所有条目。
如果您有任何问题或意见,请随时发表评论。