选择计数(电影.标题),(选择计数(电影.标题)来自电影。哪里电影..rate<6 和 .new 像电影中的“%霍思燕%”和 rate 不为空)。其中 .new 如 '%霍思燕%' 和 rate 不是按费率排序为空;我有很多电影数据,每个电影对应多个演员,我该如何利用sql语句遍历每个演员呢?请给出代码和解决方法updateupdateupdateupdateupdateupdateupdate
时间: 2024-02-26 19:57:01 浏览: 18
您可以使用嵌套查询来遍历每个演员,然后使用JOIN来将查询结果与电影表连接起来。以下是示例SQL代码:
```
SELECT COUNT(m.title)
FROM movie m
JOIN (
SELECT DISTINCT movie_id
FROM movie_cast
WHERE actor_name = '演员名'
) mc ON m.id = mc.movie_id
WHERE m.rate < 6 AND m.new LIKE '%霍思燕%' AND m.rate IS NOT NULL
```
上述代码中,首先在嵌套查询中选择与特定演员相关的电影ID,然后在JOIN子句中将查询结果与电影表连接起来。最后,使用WHERE子句过滤符合条件的电影,并计算电影数量。
如果您需要遍历每个演员,可以在代码中使用循环来动态地更改演员名称,例如:
```
DECLARE @actor_name VARCHAR(50)
DECLARE @movie_count INT
DECLARE actor_cursor CURSOR FOR
SELECT DISTINCT actor_name
FROM movie_cast
OPEN actor_cursor
FETCH NEXT FROM actor_cursor INTO @actor_name
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @movie_count = COUNT(m.title)
FROM movie m
JOIN (
SELECT DISTINCT movie_id
FROM movie_cast
WHERE actor_name = @actor_name
) mc ON m.id = mc.movie_id
WHERE m.rate < 6 AND m.new LIKE '%霍思燕%' AND m.rate IS NOT NULL
PRINT '演员 ' + @actor_name + ' 的电影数量为:' + CAST(@movie_count AS VARCHAR(10))
FETCH NEXT FROM actor_cursor INTO @actor_name
END
CLOSE actor_cursor
DEALLOCATE actor_cursor
```
上述代码中,使用游标遍历每个演员名称,并在循环中动态地执行查询和输出结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)