我正在尝试获得名字客户的姓氏和周四租用的电影,但我放入的是给我一个空集。
这是我从
获取表信息的地方http://dev.mysql.com/doc/sakila/en/sakila-structure-tables.html
select first_name, last_name, title
from sakila_customer join sakila_rental using(customer_id)
join sakila_inventory using(inventory_id) join sakila_film using(film_id)
where sakila_rental.rental_date = DAYNAME('Thursday');
答案 0 :(得分:2)
您正在以错误的方式应用该功能:
where dayname(sakila_rental.rental_date) = 'Thursday'
如果您使用表别名,您的查询也会更容易编写和阅读:
select c.first_name, c.last_name, f.title
from sakila_customer c join
sakila_rental r
using (customer_id) join
sakila_inventory i
using (inventory_id) join
sakila_film f
using (film_id)
where dayname(r.rental_date) = 'Thursday';
如果您正在学习SQL<那么现在是开始养成良好习惯的好时机,比如使用表别名。
答案 1 :(得分:1)
我认为sakila_rental.rental_date = DAYNAME('Thursday');
应为DAYNAME(sakila_rental.rental_date) = 'Thursday';
。毕竟,Thursday
已经是日期名称,您想将其与日期的日期名称进行比较。