从SELECT中的另一列引用SELECT中的列

时间:2014-11-26 20:30:44

标签: sql-server tsql

我还没有办法做到这一点,但我想我会检查以防我错过了什么。

我想要做的基本上是:

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语句会很好。

希望这是有道理的。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您尝试在同一查询中使用计算值。如果这是问题,有人在这里回答:How to use calculated field in another field of the same query