Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server-WHERE子句中的“AS”选项_Sql_Sql Server_Where - Fatal编程技术网

SQL Server-WHERE子句中的“AS”选项

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如果需要对函数的结果进行筛选并使用别名,则需

我正在尝试在SQL Server上执行以下SQL命令:

   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语句中的任何条件之后。