J'ai une requête existante qui génère des données actuelles, et je voudrais l'insérer dans une table temporaire, mais j'ai des problèmes pour le faire. Quelqu'un aurait-il une idée de 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 afficher mes données actuellement de la manière dont j'en ai besoin, mais je voudrais les transmettre dans une table temporaire. Mon problème est que je suis assez nouveau dans les requêtes SQL et que je n'ai pas été en mesure de trouver un moyen de le faire. Ou si c'est même possible. Si ce n'est pas possible, y a-t-il un meilleur moyen d'obtenir les données que je recherche WHERE application LIKE isNull('%MORESTUFF%','%')
dans une table temporaire?
sql
sql-server
ssms
bouc émissaire17
la source
la source
#temp
table qui existe déjà ou il faudrait en créer une nouvelle?LIKE ISNULL('%MORESTUFF%', '%')
sera toujours le même queLIKE '%MORESTUFF%'
, n'est-ce pas? Puisque '% MORESTUFF%' (le littéral de chaîne) n'est jamais nul?Réponses:
la source
SQL Server R2 2008 a besoin de la
AS
clause suivante:La requête a échoué sans le
AS x
à la fin.ÉDITER
Il est également nécessaire lors de l'utilisation de SS2016, a dû ajouter
as t
à la fin.la source
Le moyen le plus rapide de le faire est d'utiliser la commande "SELECT INTO", par exemple
Cela créera une nouvelle table, vous n'avez pas à la créer à l'avance.
la source
Personnellement, j'avais besoin d'un petit coup de main pour savoir comment l'utiliser et c'est vraiment génial.
la source
Vous pouvez le faire comme ceci:
Assurez-vous simplement que les colonnes correspondent, à la fois en nombre et en type de données.
la source
Essaye ça:
Veuillez utiliser un alias avec x pour que le script et le résultat n'échouent pas.
la source
la source
C'est possible. Essayez de cette façon:
la source