SQL Server Création d'une table temporaire pour cette requête
J'ai cette requête:
DECLARE
@ProjectID int = 3,
@Year int = 2010,
@MeterTypeID int = 1,
@StartDate datetime,
@EndDate datetime
SET @StartDate = '07/01/' + CAST(@Year as VARCHAR)
SET @EndDate = '06/30/' + CAST(@Year+1 as VARCHAR)
SELECT tblMEP_Sites.Name AS SiteName, convert(varchar(10),BillingMonth ,101) AS BillingMonth, SUM(Consumption) AS Consumption
FROM tblMEP_Projects
JOIN tblMEP_Sites
ON tblMEP_Projects.ID = tblMEP_Sites.ProjectID
JOIN tblMEP_Meters
ON tblMEP_Meters.SiteID = tblMEP_Sites.ID
JOIN tblMEP_MonthlyData
ON tblMEP_MonthlyData.MeterID = tblMEP_Meters.ID
JOIN tblMEP_CustomerAccounts
ON tblMEP_CustomerAccounts.ID = tblMEP_Meters.CustomerAccountID
JOIN tblMEP_UtilityCompanies
ON tblMEP_UtilityCompanies.ID = tblMEP_CustomerAccounts.UtilityCompanyID
JOIN tblMEP_MeterTypes
ON tblMEP_UtilityCompanies.UtilityTypeID = tblMEP_MeterTypes.ID
WHERE tblMEP_Projects.ID = @ProjectID
AND tblMEP_MonthlyData.BillingMonth Between @StartDate AND @EndDate
AND tbLMEP_MeterTypes.ID = @MeterTypeID
GROUP BY BillingMonth, tblMEP_Sites.Name
ORDER BY month(BillingMonth)
Je veux juste stocker dans une table temporaire, de sorte que je peux faire quelque chose avec elle. Ce serait génial si quelqu'un pouvez simplement inclure la syntaxe pour la création d'une table temporaire dans SQL Server.
J'ai essayé de différentes façons, mais j'ai été perdu et n'a pas obtenu le résultat que je souhaite.
source d'informationauteur Natalia Natalie
Vous devez vous connecter pour publier un commentaire.
Si vous voulez il suffit de créer une table temporaire à l'intérieur de la requête qui va vous permettre de faire quelque chose avec les résultats que vous déposez en elle, vous pouvez faire quelque chose comme ce qui suit:
Sur le haut de votre requête et ensuite faire un
Comme ça. Assurez-vous de la chute de la temp de la table (à la fin du bloc de code, après vous avez terminé avec lui) ou il erreur sur les exécutions ultérieures.
Si vous voulez interroger les résultats dans une table temporaire à l'intérieur de la même requête, vous pouvez utiliser # temp tables, ou @ table de variables (personnellement, je préfère le @), pour l'interrogation à l'extérieur de la portée vous souhaitez utiliser ## tables temporaires globales ou créer une nouvelle table avec les résultats.
Ici,
#
- utilisez-le pour créer une table à l'intérieur detempdb
@
- utilisez cette fonction pour créer le tableau en tant que variable.