現在のデータを出力する既存のクエリがあり、それを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 Queriesにかなり慣れておらず、そうする方法を見つけることができなかったということです。それともそれさえ可能なら。それが不可能な場合は、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%',
'%')
これを行う最も速い方法は "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とaliasを使用してください。
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;