【发布时间】:2020-04-24 09:06:30
【问题描述】:
我在 SQL Server 中有一个如下所示的表
imdb_title_id | allgenders_0age_avg_vote | allgenders_18age_avg_vote
---------------------------------------------------------------------
tt0000574 6 6.2
tt0001892 null null
我想得到的是
imdb_title_id | yearsRating
-------------------------
tt0000574 6.1
tt0001892 null
我试过了
SELECT IMDB_Movies.imdb_title_id,
(SELECT Avg(IMDB_Ratings.allgenders_0age_avg_vote + IMDB_Ratings.allgenders_18age_avg_vote)
From IMDB_Movies INNER JOIN IMDB_Ratings
on IMDB_Movies.imdb_title_id = IMDB_Ratings.imdb_title_id
and IMDB_Ratings.allgenders_0age_avg_vote != null and IMDB_Ratings.allgenders_18age_avg_vote != null
group by IMDB_Movies.imdb_title_id) AS yearsRating
From IMDB_Movies, IMDB_Actors, IMDB_Ratings, Actors_Movies
但它在所有 yearsRating 值中都给我 null 所以我应该执行什么查询
【问题讨论】:
-
这不应该是一个简单的基于表达式的列选择吗?为什么你认为这需要分组或子查询?类似于
SELECT imdb_title_id, (allgenders_0age_avg_vote + allgenders_18age_avg_vote)/2 FROM...。
标签: sql sql-server database tsql