【发布时间】:2017-04-27 20:42:19
【问题描述】:
SQL 警报的新功能!
我已经声明了一个表变量并做了一个标准
Insert into @table
(
columns
)
select (acquired data result)
我计划按月进行年度数据比较(例如比较今年 4 月和去年 4 月的数据)。由于我不想创建具有相同结构的单独表,除非我绝对必须这样做,所以这是我的问题:
是否可以在同一个临时表中插入不同的数据集作为别名来区分两者?
喜欢,例如
(Insert into @table
(
columns
)
select (acquired data 1 result)) as alias1
和
(Insert into @table
(
columns
)
select (acquired data 2 result)) as alias2
【问题讨论】:
-
注意:这是一个表变量,而不是一个临时表。临时表是
create table #temptablename ...——另外,你的问题的简短回答是:不是那样的。您拥有的别名只是您从中选择的来源的别名。 -
您可以使用 INSERT 语句将任何列放入任何其他列,只要它们具有兼容的数据类型。如果您的数据每年都具有相同的结构,那么为什么不向您的表变量添加某种标识符,例如时间戳或日期范围,以便您可以知道数据的来源并准确过滤。例如,您可以使用
DATEPART(MM, [myDateField]) = 4获取刚刚 4 月的数据。 -
@SqlZim 谢谢,相应地编辑了我的问题
-
@EMUEVIL 我现在就试试...
-
@SqlZim 即使我将谁的插入语句括在括号中?
标签: sql sql-server sql-insert