J'ai une requête existante qui génère des données actuelles et j'aimerais l'insérer dans une table Temp, mais j'ai quelques problèmes à le faire. Quelqu'un aurait-il des idées sur la façon de procéder?
Voici un exemple
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%', '%')
Cela semble produire mes données actuellement de la manière dont j'en ai besoin, mais j'aimerais les transmettre à une table temporaire. Mon problème est que je suis assez nouveau dans les requêtes SQL et que je n'ai pas trouvé le moyen de le faire. Ou si c'est même possible. Si ce n'est pas possible, existe-t-il un meilleur moyen d'obtenir les données que je recherche WHERE application LIKE isNull('%MORESTUFF%','%')
dans une table temporaire?
Toute aide serait très appréciée! Merci!
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 a besoin de la clause AS
comme suit:
SELECT *
INTO #temp
FROM (
SELECT col1, col2
FROM table1
) AS x
La requête a échoué sans le AS x
à la fin.
C'est également nécessaire lorsque vous utilisez SS2016, il fallait ajouter as t
à la fin.
Select * into #result from (SELECT * FROM #temp where [id] = @id) as t //<-- as t
Le moyen le plus rapide de procéder consiste à utiliser la commande "SELECT INTO", par exemple.
SELECT * INTO #TempTableName
FROM....
Cela va créer une nouvelle table, vous n'avez pas à la créer à l'avance.
Vous pouvez faire ça comme ça:
INSERT INTO myTable (colum1, column2)
SELECT column1, column2 FROM OtherTable;
Assurez-vous simplement que les colonnes correspondent, en nombre comme en type de données.
Personnellement, j'avais besoin d'une petite main pour comprendre comment utiliser ceci et c'est vraiment génial.
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
Essaye ça:
SELECT *
INTO #Temp
FROM
(select * from tblorders where busidate ='2016-11-24' and locationID=12
) as X
Veuillez utiliser un alias avec x pour que le script et le résultat ne manquent pas.
SELECT * INTO #TempTable
FROM SampleTable
WHERE...
SELECT * FROM #TempTable
DROP TABLE #TempTable
C'est possible. Essayez de cette façon:
Create Global Temporary Table
BossaDoSamba
On Commit Preserve Rows
As
select ArtistName, sum(Songs) As NumberOfSongs
from Spotfy
where ArtistName = 'BossaDoSamba'
group by ArtistName;