在条件中使用sql函数 [英] Use sql function in condition
本文介绍了在条件中使用sql函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想执行此代码
i wanna executed this code
SELECT *, RANK() OVER (ORDER BY td.NameRss)as myrank FROM tblData td
left join tblRss tr on td.NameRss=tr.RssAdress
where td.myrank <=10
但我有错误
消息207,等级16,状态1,行5
无效的列名称''myrank''。
Sql server 2008 R2
如何解决这个问题?
But i have error
Msg 207, Level 16, State 1, Line 5
Invalid column name ''myrank''.
Sql server 2008 R2
how can i solve this problem ?
推荐答案
你不能这样做。您需要创建子查询,临时表或CTE。请参阅以下内容:
You cant do that. You need to create a subquery, temp table or CTE. Please see below:
;WITH CTE
AS
(
SELECT *, RANK() OVER (ORDER BY td.NameRss) as myrank FROM tblData td
left join tblRss tr on td.NameRss=tr.RssAdress
)
Select *
FROM CTE
where CTE.myrank <=10
或
OR
select *
from
(
SELECT *, RANK() OVER (ORDER BY td.NameRss) as myrank FROM tblData td
left join tblRss tr on td.NameRss=tr.RssAdress
) t
where t.myrank <=10
这篇关于在条件中使用sql函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文