Есть ли способ использовать вычисляемый столбец более чем один раз, например:Использование вычисляемого столбца несколько раз
SELECT col1/1.1 as col2, col2 - col3 as col4 FROM table1
Спасибо заранее.
Есть ли способ использовать вычисляемый столбец более чем один раз, например:Использование вычисляемого столбца несколько раз
SELECT col1/1.1 as col2, col2 - col3 as col4 FROM table1
Спасибо заранее.
Вы также можете использовать Common Table Expression
WITH CTE
AS
(
SELECT col1/1.1 as col2,
col3
FROM table1
)
SELECT col2,
col2 - col3 as col4
FROM CTE
Это отлично поработало, спасибо. – 2013-04-10 15:04:16
SELECT x.col2, x.col2 - x.col3 as col4
FROM (
SELECT col1/1.1 as col2, col3
FROM table1
) x;
WITH MyCommonTableExpression (Col2, Col3)
AS (
SELECT col1/1.1, col3
FROM table1
)
SELECT x.col2, x.col2 - x.col3 as col4
FROM MyCommonTableExpression x;
Не так. Вы можете использовать его на производной таблице:
SELECT col2, col2-col3 col4
FROM (SELECT col1/1.1 col2, col3 FROM table1) A
Вы можете также использовать CROSS APPLY
:
SELECT col2,
col2-col3 col4
FROM table1
CROSS APPLY (SELECT col1/1.1) A(col2)
"вычисляемый столбец" имеет определенное значение для [ SQL Server] (http://msdn.microsoft.com/en-us/library/ms191250 (v = sql.105) .aspx), и это не так. –