小编Ann*_*son的帖子

在我们创建它的同一查询中引用新创建的计算列

SELECT 
(SUBSTRING(Column1,1,3)) AS ComputedColumn
WHERE ComputedColumn !="dec"
INTO Table2
FROM Table1;
Run Code Online (Sandbox Code Playgroud)

这是一个示例,其中我有一个计算列(它基本上是通过使用表达式创建的)。如果我运行它,我会收到“列名无效”错误,因为我在创建它的同一查询中引用了计算列。

在名为 SAS 的应用程序中,这是通过在 WHERE 子句中为计算列名称添加前缀“(CALCULATED)”来解决的。Sql Server 中是否有类似的解决方案。除了这样做:

SELECT 
(SUBSTRING(Column1,1,3)) AS ComputedColumn
WHERE (SUBSTRING(Column1,1,3)) !="dec"
INTO Table2
FROM Table1;
Run Code Online (Sandbox Code Playgroud)

我知道这是可能的,但是当表达式非常大时会非常混乱。在我们创建它的同一查询中,必须有另一种方法来引用新创建的计算列。

感谢十亿!安娜

sql-server-2008

2
推荐指数
1
解决办法
6506
查看次数

标签 统计

sql-server-2008 ×1