如何在SQL中为一列指定多个别名?
我在查询中有一个函数调用,结果必须返回两个名称 例如:如何在SQL中为一列指定多个别名?,sql,sql-server,database,tsql,Sql,Sql Server,Database,Tsql,我在查询中有一个函数调用,结果必须返回两个名称 例如: SELECT myFunction(column1) as Name1, column2 as Name2 FROM myTable 我希望myFunction的结果在两个不同的列中返回。如果不在列列表中进行另一个函数调用,是否可以执行此操作?您不能直接为名称指定两个别名,但可以在派生查询中重复列: SELECT name1, name1 AS name2 FROM (SELECT myFunction(column1) As Na
SELECT myFunction(column1) as Name1, column2 as Name2 FROM myTable
我希望myFunction的结果在两个不同的列中返回。如果不在列列表中进行另一个函数调用,是否可以执行此操作?您不能直接为名称指定两个别名,但可以在派生查询中重复列:
SELECT name1, name1 AS name2 FROM
(SELECT myFunction(column1) As Name1 From MyTable) base;
您也可以简单地复制函数调用。如果函数是确定性的,那么优化器可能只调用它一次。(当然,请检查查询计划。)
我猜这就是你的意思。这通常用于希望下拉列表具有返回值和显示值的框架中。比如说,
select name as DisplayVal, name as ReturnVal from Table
它不是通过两次函数调用来获得相同的值吗?@Jenn如果函数是确定性的,它将只被调用一次。
select name as DisplayVal, name as ReturnVal from Table