SQL Server Creating a temp table for this query

sql, sql-server, temp-tables

Solution

If you want to just create a temp table inside the query that will allow you to do something with the results that you deposit into it you can do something like the following:

DECLARE @T1 TABLE (
Item 1 VARCHAR(200)
, Item 2 VARCHAR(200)
, ...
, Item n VARCHAR(500)
)

On the top of your query and then do an

INSERT INTO @T1
SELECT
FROM
(...)

Problem

I have this query: ``` 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) ``` I just want store it in a temp table so that I can do something with it. It would be great if anybody can just include the syntax for creating a temp table in SQL Server. I tried different ways but I was lost and did not get the result I want.

Original source