【发布时间】:2020-04-25 18:20:03
【问题描述】:
我目前正在使用 MS 的 Sakila DB,其中包含有关电影/演员/租赁/客户等的数据。
地图:
我被要求制定一个查询来查找没有租借特定电影的客户。
我已经能够计算出找到已租用该影片的客户的代码,但我无法找到没有租用该影片的客户的名单。
我的代码如下:
SELECT DISTINCT C.customer_id, C.first_name, C.last_name
FROM customer AS C
JOIN RENTAL AS R ON C.customer_id = R.customer_id
JOIN inventory AS I ON R.inventory_id = I.inventory_id
JOIN film AS F ON I.film_id = F.film_id
WHERE F.title = 'ANGELS LIFE'
我可以使用!= 'ANGELS LIFE',但它会返回给我所有租借过任何其他电影的人的名单(包括那些从其他购买中租借过 ANGELS LIFE 的人)。
我无法完成下一步。我考虑过使用Union,然后删除重复项(其中 count(*) >1)也许?
感谢任何建议。
【问题讨论】:
标签: sql sql-server tsql join