我有一個選擇查詢與幾十個字段。 「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