我有一个选择查询,其中包含几十个字段。"FieldA"是一个有大约10行的Case语句。现在我需要创建一个"FieldB",它使用相同的Case语句加上一个常数。
就我目前对sql-server的了解,我需要重复两次那个Case语句(一次用于FieldA,一次用于FieldB)。为了整理我的代码,如何在计算FieldB时使用FieldA?
理想情况下,我的代码应该像这样:
就我目前对sql-server的了解,我需要重复两次那个Case语句(一次用于FieldA,一次用于FieldB)。为了整理我的代码,如何在计算FieldB时使用FieldA?
理想情况下,我的代码应该像这样:
Select
Case ...
When ... then ...
When ... then ...
When ... then ...
End as FieldA,
FieldA + 1 as FieldB
From TblSource
我知道一种方法是将数据转储到临时表中,然后更新该临时表。但这有点违背“简化”的概念。