当前位置: 首页 > 面试题库 >

SQL Server为此查询创建一个临时表

傅泉
2023-03-14
问题内容

我有这个查询:

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)

我只想将其存储在临时表中,以便可以对其进行处理。如果任何人都可以仅包括在SQL Server中创建临时表的语法,那将是很好的。

我尝试了不同的方法,但是迷路了,没有得到想要的结果。


问题答案:

如果您只想在查询中创建一个临时表,以使您可以对存储到其中的结果进行某些操作,则可以执行以下操作:

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

在查询顶部,然后执行

INSERT INTO @T1
SELECT
FROM
(...)


 类似资料:
  • 问题内容: 我可以这样创建一个临时表: 但是新表不可读,因为它说它没有主键。 是exisitingtable的主键,因此我希望它在temp表中得到相同的处理。 但是,无论如何,我宁愿找到某种ORM方式来执行此操作。鉴于: 如何在不执行100000命令的情况下填充一些选定的内容?还是有一种方法可以通过类似于上面的普通SQL版本的查询来创建表? 问题答案: 它不完全是ORM,但为了最初创建表,我将克隆

  • 问题内容: 我目前在MS Access中有一个名为Quarterly_Growth_Rates的查询,该查询生成下表: 我需要在我的VB.net程序中创建一个CrossTab查询,该查询将生成此表: 因此,现在该表显示以下列:每一个行情自动收录器的每一年的每个季度,行,行,年,Qtr和Qtr_Growth行。 我需要它来显示Ticker,2013-1、2012-4、2012-3列,每个股票行情只显

  • 问题内容: 到目前为止,我有以下代码: 但这给了我 将varchar值’## show’转换为数据类型int时,转换失败。 我想要实现的是每次执行查询时都创建一个表## show + random number。 例子 : 用@bluefeet所说的内容进行编辑,并找到了一种使用以下方法创建表的方法 但是如何调用或插入此表? 问题答案: 由于要将参数添加到字符串中,因此需要将其强制转换为varch

  • 以下示例将演示如何在DBUtils的帮助下,使用语句来创建记录。 我们将在表中插入一条记录。 语法 其中, insertQuery − Insert query having placeholders. queryRunner − QueryRunner object to insert employee object in database. 为了理解上述与DBUtils相关的概念,我们编写一个

  • 主要内容:创建一个更新查询,创建一个删除查询,创建一个建表查询在本章中让我们来了解如何创建查询。 创建一个更新查询 可以使用更新查询更改表中的数据,并且可以使用更新查询来输入条件以指定应更新哪些行。 在执行更新之前,更新查询提供了一个查看更新数据的机会。 让我们再次转到“创建”选项卡,然后单击“查询设计”。 在“表”选项卡的“显示表”对话框中,双击表,然后关闭对话框。 在“设计”选项卡的“查询类型”组中,单击“更新”并双击要更新值的字段。假设要将员工编号为: