我有一个输出当前数据的现有查询,我想将它插入Temp表中,但是我遇到了一些问题。有人会对如何做到这一点有所了解吗?
这是一个例子
SELECT *
FROM (SELECT Received,
Total,
Answer,
( CASE
WHEN application LIKE '%STUFF%' THEN 'MORESTUFF'
END ) AS application
FROM FirstTable
WHERE Recieved = 1
AND application = 'MORESTUFF'
GROUP BY CASE
WHEN application LIKE '%STUFF%' THEN 'MORESTUFF'
END) data
WHERE application LIKE isNull('%MORESTUFF%', '%')
这似乎以我需要的方式输出我的数据,但我想把它传递到Temp Table。我的问题是我对SQL查询很新,并且无法找到一种方法。或者,如果它是可能的。如果不可能,有没有更好的方法来获取我正在寻找WHERE application LIKE isNull('%MORESTUFF%','%')
的数据到临时表?
任何帮助将非常感激!谢谢!
SELECT *
INTO #Temp
FROM
(SELECT
Received,
Total,
Answer,
(CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END) AS application
FROM
FirstTable
WHERE
Recieved = 1 AND
application = 'MORESTUFF'
GROUP BY
CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END) data
WHERE
application LIKE
isNull(
'%MORESTUFF%',
'%')
SQL Server R2 2008需要AS
子句,如下所示:
SELECT *
INTO #temp
FROM (
SELECT col1, col2
FROM table1
) AS x
查询失败,最后没有AS x
。
使用SS2016时也需要它,不得不添加as t
到最后。
Select * into #result from (SELECT * FROM #temp where [id] = @id) as t //<-- as t
最快的方法是使用“SELECT INTO”命令,例如
SELECT * INTO #TempTableName
FROM....
这将创建一个新表,您不必提前创建它。
你可以这样做:
INSERT INTO myTable (colum1, column2)
SELECT column1, column2 FROM OtherTable;
只需确保列匹配,数量与数据类型相同。
就个人而言,我需要一只小手拿着弄清楚如何使用它,这真的很棒。
SELECT *
INTO #TEMP
FROM (
The query you want to use many times
) AS X
SELECT * FROM #TEMP WHERE THIS = THAT
SELECT * FROM #TEMP WHERE THIS <> THAT
SELECT COL1,COL3 FROM #TEMP WHERE THIS > THAT
DROP TABLE #TEMP
试试这个:
SELECT *
INTO #Temp
FROM
(select * from tblorders where busidate ='2016-11-24' and locationID=12
) as X
请使用x的别名,这样脚本和结果都不会失败。
SELECT * INTO #TempTable
FROM SampleTable
WHERE...
SELECT * FROM #TempTable
DROP TABLE #TempTable
这个有可能。试试这种方式:
Create Global Temporary Table
BossaDoSamba
On Commit Preserve Rows
As
select ArtistName, sum(Songs) As NumberOfSongs
from Spotfy
where ArtistName = 'BossaDoSamba'
group by ArtistName;