SQL Query的From子句中的CTE

时间:2014-04-15 08:23:51

标签: sql sql-server sql-server-2008 tsql

我需要在SQL Query的子句中使用CTE查询

见这个例子:

Drop Table #Temp
Drop Table #Temp2
Create Table #Temp(name1 text, name2 text)

Insert INTO #Temp Values ('test','test')
Insert INTO #Temp Values ('test','test')

select * into #Temp2
from #Temp

Select * from #Temp2

在这里,我只是将行插入临时表' Temp2'从Temp中选择记录......这很好......

但我需要的是,必须在子句中使用CTE ..比如

select * into #Temp2
from (;With CTE as ( Select * from #Temp) select * from CTE)

请不要鼓励我分开CTE查询。因为我无法控制该部分查询,因为它是由其他系统提供的。

select * into #Temp2
from ("Query Provided by Other System")

因此"其他系统提供的查询" 可能是也可能不是CTE查询。

2 个答案:

答案 0 :(得分:1)

检查以下语法,它对我有用,我希望你也在寻找相同的东西:

With CTE as ( Select * from #Temp) 
select * into #Temp2 from CTE

答案 1 :(得分:1)

use below query



  Create Table #Temp(name1 text, name2 text)

    Insert INTO #Temp Values ('test','test')
    Insert INTO #Temp Values ('test','test')
    GO

    With CTE as ( Select * from #Temp) 
    select * into #Temp2 from CTE

    select * from #Temp2
    GO
    Drop Table #Temp
    Drop Table #Temp2