Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использовать выходное поле запроса для вычисления другого выходного поля. / 5 сообщений из 5, страница 1 из 1
13.08.2018, 12:33
    #39686794
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использовать выходное поле запроса для вычисления другого выходного поля.
У MS Access в Jet SQL работает вычисление выходного поля от данных других выходных полей:
Код: sql
1.
SELECT 1 AS A , 2 AS B, A+B AS C;


А SQL server и T-SQL выдают ошибки:
MSSMSMsg 207, Level 16, State 1, Line 1
Недопустимое имя столбца "A".
Msg 207, Level 16, State 1, Line 1
Недопустимое имя столбца "B".
Как это проще обойти ?
...
Рейтинг: 0 / 0
13.08.2018, 12:36
    #39686797
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использовать выходное поле запроса для вычисления другого выходного поля.
4d_monster,

проще [1] + [2] as [C]
...
Рейтинг: 0 / 0
13.08.2018, 12:42
    #39686801
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использовать выходное поле запроса для вычисления другого выходного поля.
а если не 1 и 2, а сложные вычисления и итог не от двух столбцов в 10-ти ?
...
Рейтинг: 0 / 0
13.08.2018, 12:44
    #39686805
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использовать выходное поле запроса для вычисления другого выходного поля.
4d_monsterа если не 1 и 2, а сложные вычисления и итог не от двух столбцов в 10-ти ?
тогда
Код: sql
1.
2.
;WITH T AS (SELECT 1 AS A , 2 AS B)
SELECT *, [A] + [B] AS [C] FROM T
...
Рейтинг: 0 / 0
13.08.2018, 17:34
    #39687030
Владимир Затуливетер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использовать выходное поле запроса для вычисления другого выходного поля.
4d_monsterа если не 1 и 2, а сложные вычисления и итог не от двух столбцов в 10-ти ?

Еще вариант с cross apply. ps: лично мне синтаксически больше нравиться.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select *
from dbo.Table1 t
    cross apply (
        -- сложные вычисления тут
        select 1 as A, 2 as B
    ) c1
    cross apply (
        -- можно еще добавить
        select c1.A + c1.B as C
    ) c2
    cross apply (
        -- и еще
        select c2.С / c1.B as D
    ) c3
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использовать выходное поле запроса для вычисления другого выходного поля. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]