Гро*_*ный 11 sql sql-server alias sql-server-2008
我想实现这样的目标:
SELECT
(CASE WHEN ...) AS FieldA,
FieldA + 20 AS FieldB
FROM Tbl
Run Code Online (Sandbox Code Playgroud)
假设通过"..."我已经替换了一个冗长而复杂的CASE语句,我不想在选择FieldB和使用别名时重复它FieldA.
注意,这将返回多行,因此在我的情况下,语句之外的DECLARE/ 不好.SETSELECT
Pet*_*ang 13
workaroud将使用子查询:
SELECT
FieldA,
FieldA + 20 AS FieldB
FROM (
SELECT
(CASE WHEN ...) AS FieldA
FROM Tbl
) t
Run Code Online (Sandbox Code Playgroud)
为了提高可读性,您还可以使用CTE:
WITH t AS (
SELECT
(CASE WHEN ...) AS FieldA
FROM Tbl
)
SELECT
FieldA,
FieldA + 20 AS FieldB
FROM
t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5189 次 |
| 最近记录: |