有没有办法可以在不使用子查询的情况下引用我在select语句中创建的列?
SELECT TVSeason.tvSeasonID, UserHasWatchedTVSeason.*,
CASE
WHEN userhaswatchedtvseason.tvSeasonID IS NULL THEN 'No'
ELSE 'Yes'
END as watched
FROM TVSeason
LEFT JOIN UserHasWatchedTVSeason
ON TVSeason.tvSeasonID = UserHasWatchedTVSeason.tvSeasonID
WHERE watched = 'No'
“监视”列仅存在于查询的选择部分中。显然我试过上面的,没有找到专栏。我想知道是否还有另一种方式我应该这样做 - 我试图避免使用额外的子查询混乱查询。
答案 0 :(得分:1)
这是一个范围问题。通过SQL评估查询的方式,它不知道您的列是否存在。
您需要按照建议执行操作并创建子查询以将派生列重新用作变量,或者您需要将派生列表示的逻辑复制粘贴到案例陈述中。