Fel*_*kel 3 sql sql-server variables simplify
我想简化我的T-SQL查询.它是这样的:
SELECT
t.a AS [Column A],
t.b AS [Column B],
t.c AS [Column C],
(t.a - t.b - t.c) AS [Column D],
CASE
WHEN (t.a - t.b - t.c) = 0 THEN 'Equals'
WHEN (t.a - t.b - t.c) > 0 THEN 'Greater'
WHEN (t.a - t.b - t.c) < 0 THEN 'Less'
END AS [Status]
FROM
Table1 AS t;
Run Code Online (Sandbox Code Playgroud)
放入(t.a - t.b - t.c)变量会很好,所以我可以在它出现的所有地方重复使用它,因为表达式可能会随着时间的推移而改变.如果不显着改变现有查询,我无法弄清楚如何做到这一点.
使用 Cross Apply
SELECT
t.a AS [Column A],
t.b AS [Column B],
t.c AS [Column C],
[Column D],
CASE
WHEN [Column D] = 0 THEN 'Equals'
WHEN [Column D] > 0 THEN 'Greater'
WHEN [Column D] < 0 THEN 'Less'
END AS [Status]
FROM
Table1 AS t
CROSS APPLY (SELECT t.a - t.b - t.c AS [Column D]) AS t2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |