Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите по синтаксису  [new]
ЗабывчивыйПассажир
Guest
Select
(длинное сложное вычисляемое выражение1),
(длинное сложное вычисляемое выражение2),
(длинное сложное вычисляемое выражение1) +
(длинное сложное вычисляемое выражение2)
From ....

Как синтаксически упростить такую запись, кроме как "обернуть" в другой SELECT ?
26 фев 14, 12:56    [15631871]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЗабывчивыйПассажир
Как синтаксически упростить такую запись, кроме как "обернуть" в другой SELECT ?

никак
26 фев 14, 12:58    [15631889]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
ЗабывчивыйПассажир
Select
(длинное сложное вычисляемое выражение1),
(длинное сложное вычисляемое выражение2),
(длинное сложное вычисляемое выражение1) +
(длинное сложное вычисляемое выражение2)
From ....

Как синтаксически упростить такую запись, кроме как "обернуть" в другой SELECT ?
Select
  f.a,f.b,f.a+f.b
From ....
cross apply(select 
  (длинное сложное вычисляемое выражение1)a,
  (длинное сложное вычисляемое выражение2)b
  )f
26 фев 14, 13:01    [15631926]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
hnkovr
Member

Откуда:
Сообщений: 214
Использовать функции
26 фев 14, 13:22    [15632080]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Cygapb-007
ЗабывчивыйПассажир
Select
(длинное сложное вычисляемое выражение1),
(длинное сложное вычисляемое выражение2),
(длинное сложное вычисляемое выражение1) +
(длинное сложное вычисляемое выражение2)
From ....

Как синтаксически упростить такую запись, кроме как "обернуть" в другой SELECT ?
Select
  f.a,f.b,f.a+f.b
From ....
cross apply(select 
  (длинное сложное вычисляемое выражение1)a,
  (длинное сложное вычисляемое выражение2)b
  )f
Это и называется "обернуть в другой SELECT"
26 фев 14, 15:18    [15633087]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
iap
Это и называется "обернуть в другой SELECT"

он оно каг... А я-то думал, что это означает
SELECT 
  [Обвёрнутое].a,[Обвёрнутое].b, 
  [Обвёрнутое].a+[Обвёрнутое].b
FROM (
  SELECT
    (длинное сложное вычисляемое выражение1) a
    (длинное сложное вычисляемое выражение2) b
  From ....
 ) as [Обвёрнутое]
Ну, значит был не прав
26 фев 14, 15:56    [15633469]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
iap
Это и называется "обернуть в другой SELECT"
Вы написали общий постулат, но SELECT через APPLY на порядки удобнее.
26 фев 14, 21:55    [15635954]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по синтаксису  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
После того как сморозил, решил реабилитироваться.

Неправда, вот без SELECT:
SELECT	N.number, Q.[Square]
FROM	master.dbo.spt_values	N
CROSS APPLY (VALUES (N.number * N.number))Q([Square])
WHERE	N.[type] = 'P'
26 фев 14, 21:59    [15635966]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить