Гро*_*ный 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
/ 不好.SET
SELECT
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 次 |
最近记录: |