Sql server 如何将SQL查询捕获到表中
我正在尝试将SQL查询结果捕获到表中。如果没有代码将查询捕获到表中,查询就可以正常工作,但我发现语法错误就在附近。任何帮助都将不胜感激Sql server 如何将SQL查询捕获到表中,sql-server,Sql Server,我正在尝试将SQL查询结果捕获到表中。如果没有代码将查询捕获到表中,查询就可以正常工作,但我发现语法错误就在附近。任何帮助都将不胜感激 Select * Into #TempTable From (Select SUM ([Total Messages]) as WTMT , SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold], SUM ([A
Select *
Into #TempTable
From
(Select
SUM ([Total Messages]) as WTMT ,
SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold],
SUM ([Average Time (Sec )]) as [Weekly Average Delivery Time],
(SUM ([Total Messages])- SUM ([Messages below threshold]))
As [Weekly Messages Above Threshold]
from [Weekly Mail Delivery Times ByServer])
派生表需要别名:
Select * Into #TempTable From
(Select SUM ([Total Messages]) as WTMT , SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold], SUM ([Average Time (Sec )]) as [Weekly Average Delivery Time], (SUM ([Total Messages])- SUM ([Messages below threshold])) As [Weekly Messages Above Threshold] from [Weekly Mail Delivery Times ByServer]) q
我建议在查询中添加别名: 从SELECT SUM[总消息数]中将*选择为可诱惑 作为WTMT, 将[低于阈值的邮件]合计为[低于阈值的每周邮件], 总和[平均时间秒]为[每周平均交付时间], 总和[总消息]-总和[低于阈值的消息]为[高于阈值的每周消息] 从[服务器每周邮件投递时间] AS t
其中任何一个都可以
Select *
Into #TempTable
From (
Select SUM ([Total Messages]) as WTMT ,
SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold],
SUM ([Average Time (Sec )]) as [Weekly Average Delivery Time],
(SUM ([Total Messages])- SUM ([Messages below threshold])) As [Weekly Messages Above Threshold]
from [Weekly Mail Delivery Times ByServer]
) As X
或
你有没有试过把它粘贴到SSM中,并在多行上格式化,这样丢失的内容就变得明显了?参见Conrad Lotz的答案。您需要为子查询结果集提供别名。是的,如果不为结果集提供别名,则无法执行子查询。
Select SUM ([Total Messages]) as WTMT ,
SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold],
SUM ([Average Time (Sec )]) as [Weekly Average Delivery Time],
(SUM ([Total Messages])- SUM ([Messages below threshold])) As [Weekly Messages Above Threshold]
Into #TempTable
from [Weekly Mail Delivery Times ByServer]