使用具有多个 withs 的插入语句

Using an insert statement with multiple withs

我有一个 SQL 查询(服务器 2012),它有多个 with 语句来对初始结果集执行计算。有没有办法在每个 with 语句中执行插入到临时 table。

然后我可以在最后执行 select 以漂亮的格式查看我的结果。

这里是 SQL 代码的示例。真正的查询很长所以不想 post 它。如果有完全不同的方法,我会洗耳恭听。

with tce as (Select cash from sometable),
test1 as (((select * from tce) * 100) as morecash),
test 2 as (((select * from test1) * 100) as evenmorecash) 

只需将您的 CTE 扩展到临时 table 插入:

-- Query 1
SELECT cash
INTO #temp1
FROM sometable;

-- Query 2
SELECT cash * 100 as morecash
INTO #temp2
FROM #temp1

-- Query 3
SELECT morecash * 100 as evenmorecash
INTO #temp3
FROM #temp2;

-- Output
SELECT *
FROM #temp3;