我有一个选择查询与几十个字段。 “FieldA”是一个约10行高的Case语句。我现在必须制作一个“FieldB”,它使用相同的Case语句和一个常量。根据我目前对sql-server的了解,我不得不重复这个Case语句两次(一次用于FieldA,一次用于FieldB)。为了清理我的代码,我如何在FieldB的计算中使用fieldA?如何在同一查询的另一个字段中使用计算字段
理想的情况下,我的代码会是这个样子:
Select
Case ...
When ... then ...
When ... then ...
When ... then ...
End as FieldA,
FieldA + 1 as FieldB
From TblSource
(我知道,一个选择是将数据转储到一个临时表,然后更新该临时表,但那种失败的概念'简化')的
它的工作原理!并不像我期望的那么简单(它基本上将1 Select语句拆分为2),但它有它自己的一些优点。 – PowerUser 2011-12-14 22:17:39
不知道它是唯一的解决方案吗? – 2013-10-03 09:36:18