SQL Server-WHERE子句中的“AS”选项
我正在尝试在SQL Server上执行以下SQL命令:SQL Server-WHERE子句中的“AS”选项,sql,sql-server,where,Sql,Sql Server,Where,我正在尝试在SQL Server上执行以下SQL命令: select a1, a2, .... (select [dbo].[myFunction](a1, a2)) as mySelector where mySelector = @sel 错误消息显示:列名称mySelector无效 我也试着以“mySelector”的身份——同样的错误信息 你知道为什么吗 谢谢 zb如果需要对函数的结果进行筛选并使用别名,则需
select a1,
a2,
....
(select [dbo].[myFunction](a1, a2)) as mySelector
where mySelector = @sel
错误消息显示:列名称mySelector无效
我也试着以“mySelector”的身份——同样的错误信息
你知道为什么吗
谢谢
zb如果需要对函数的结果进行筛选并使用别名,则需要查看使用子查询:
select a1, a2, mySelector
from
(
select a1,
a2,
....
(select [dbo].[myFunction](a1, a2)) as mySelector
from yourtable
) d
where mySelector = @sel;
您在选择列表中使用的别名在WHERE子句中不可用。发件人:
以下步骤显示了逻辑关系
处理订单或绑定订单,
对于SELECT语句。此订单
确定在中定义对象的时间
一个步骤可供用户使用
后续步骤中的子句。对于
例如,如果查询处理器可以
绑定以访问表或视图
在FROM子句中定义,这些
创建对象及其列
可用于所有后续步骤。
相反,因为SELECT子句
是步骤8,任何列别名或
该子句中定义的派生列
不能被前面的引用
条款。然而,它们可以是
由后续条款引用,如
如ORDERBY条款所示。请注意
项目的实际实际执行情况
语句由查询确定
处理器和订单可能会有所不同
这张单子
从…起
在…上
参加
哪里
分组
使用多维数据集还是使用汇总
有
选择
不同的
订购人
顶部
不能在where条件中使用别名如果您关心性能,则不应在where子句中放置内联函数。您可以在where条件中使用别名,例如在联接中引入的别名。。不能使用同一语句中select子句的结果。这是因为输出位于给定SELECT语句中的任何条件之后。