sql - SQL 查找至少放映过 2 次的电影
问题描述
好吧,在我学习的时候,我遇到了一个颠簸。
我有一个数据库包含
City(Name,State,Population)
Theatre(Theatre_id,name,City_Name)
ScreeningRoom(ScreeningRoom_Number,theatre_tid,Capacity)
Movie(Movie_id,title,lenght)
Screening(Screening_id,Movie_fid,SreeningR_number,viewers)
我需要找到每个放映室中至少放映过 2 次的所有电影。我设法为每个放映室放映的所有电影找到了一个解决方案,我的代码是这样的
select * from movie
where not exists
(
select * from ScreeningRoom
where not exists(
select * from Screening
where movies.movie_id=screeing.Movie_fid
and ScreeningRoom.ScreeningRoom_Number=Screening.Screening_id
)
)
group by movie.title
但我不知道如何实施至少 2 次部分...请帮助
解决方案
尝试这个。我在语句中添加了一个有子句。
select * from movie
where not exists
(
select * from ScreeningRoom
where not exists(
select * from Screening
where movies.movie_id=screeing.Movie_fid
and ScreeningRoom.ScreeningRoom_Number=Screening.Screening_id
having count(Screening.Screening_id) >1
)
)
group by movie.title
推荐阅读
- video - ffmpeg 在子剪辑上运行时出现转换失败
- json - 动态 JSON 结构,API 结果 golang
- android - 如何通过 Android 设备上的 MAC 地址断开蓝牙连接?
- azure - 配置 ARM 模板以使用 Power BI 作为输出部署 Azure Steam Analytics
- python - 列出所有 Pipenv 环境
- python - ImportError:GAE Flexible 中没有名为 main 的模块
- mysql - 使用相对日期创建 MYSQL 查询
- php - 如何绕过跨域请求阻止 CORS 请求在此脚本中未成功?
- angular - RouterModule:路由器实例
- go - Qsort比较