我还没有办法做到这一点,但我想我会检查以防我错过了什么。
我想要做的基本上是:
SELECT st.SomeIntValue AS Column1, Column1 * 10 AS Column2, Column2 * 3 AS Column3
FROM SomeTable st
有没有办法在SQL Server中执行此操作,而无需借助嵌套的子查询?
修改 举例说明我为什么要这样做。 我需要这样做:
SELECT CASE WHEN (ThisThingIsTrue
AND ThisOtherThingIsTrue) THEN 1
ELSE 0
END AS Concept1,
CASE WHEN (ThisThingIsTrue
AND ThisOtherThingIsTrue) THEN 0
ELSE 1
END AS UnrelatedConcept2,
FROM SomeTable
此代码进入视图,问题是使用此视图的代码只想知道UnrelatedConcept2的值 - 客户端代码通过指定NOT Concept1导出UnrelatedConcept2会很困惑。当我不能使用Concept1的值时,不必重复CASE WHEN语句会很好。
希望这是有道理的。
答案 0 :(得分:1)
如果我理解正确,您尝试在同一查询中使用计算值。如果这是问题,有人在这里回答:How to use calculated field in another field of the same query