Как мы можем дать несколько псевдоним для столбца в SQL? - PullRequest
9 голосов
/ 01 июля 2010

У меня есть вызов функции в запросе, и этот результат должен быть возвращен с двумя именами.

Пример:

SELECT myFunction(column1) as Name1, column2 as Name2 FROM myTable

Я хочу, чтобы результат myFunction возвращался в двух разных столбцах. Возможно ли это без повторного вызова функции в списке столбцов?

Ответы [ 2 ]

13 голосов
/ 01 июля 2010

Вы не можете дать имя двум псевдонимам напрямую, но вы можете повторить столбец в производном запросе:

SELECT name1, name1 AS name2 FROM 
  (SELECT myFunction(column1) As Name1 From MyTable) base;

Вы также можете просто дублировать вызов функции. Если функция является детерминированной, оптимизатор может вызвать ее только один раз. (Но, конечно, проверьте план запроса.)

1 голос
/ 01 июля 2010
SELECT myFunction(column1) as Name1, myFunction(column1) as Name2 FROM myTable

Полагаю, это то, что вы имеете в виду.Это часто используется в платформе, которая ожидает возвращаемое значение и отображаемое значение для выпадающего списка.Например,

select name as DisplayVal, name as ReturnVal from Table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...