我正在使用SQL Server而我正在尝试构建一个临时表,其中有一个当前令人兴奋的表检索到的列,并在每行中插入一个日期。
例如我有
select NumberID into #Table0
from Table1
where numcue in [conditions]
在新的Table0中,我按照一定的标准排序了NumberID。但是按照完全相同的顺序,我想为每一行引入一个日期。
有没有办法不使用CREATE TABLE或INSERT(我没有权限)
提前致谢
------- EDITION ---(更多信息)
也许我不清楚它,长话短说我在我的Datawarehouse的TABLE1中有IDNUMBER(10k +行),但每个IDNUMBER有20个日期。
在Excel中,我有每个IDNUMBER需要检索的日期,但我不知道如何直接使用QUERY检索确切的信息。并且日期没有标准只是每个IDNUMBER的随机日期,因此我无法直接对其进行编码。
所以我试图做的是,将每个IDNUMBER与Excel的日期放在一个临时表中,然后继续查看信息
希望这有助于进一步解释
提前致谢并获得所有当前答案
答案 0 :(得分:0)
所以你的意思是这样的?
select NumberID, GETDATE() AS DateColumn into #Table0
from Table1
where numcue in [conditions]
答案 1 :(得分:0)
我认为您可以通过使用CTE(公用表表达式)来查找ID的行号。 我不确定是否是这种情况,但我知道你想增加每一行的日期,例如:
NumberID|Date
1 |2018-01-01
3 |2018-01-02
12 |2018-01-03
25 |2018-01-04
在这种情况下,我提供了一些使用sys_objects表的代码作为示例:
DECLARE @FirstDate DATE = '20180101'
;WITH CTE
AS
(
SELECT TOP (100) PERCENT object_id, ROW_NUMBER() OVER (ORDER BY object_id ASC) AS RowNumber
FROM master.sys.objects
ORDER BY object_id
)
SELECT object_id, DATEADD(dd, RowNumber-1, @FirstDate) AS Date, RowNumber
FROM CTE;
您可以忽略RowNumber列 - 我刚刚添加,您可以了解它是一个序列。
特别是对于你的情况,我认为这段代码应该有用 - 记得指定你的初始日期:
DECLARE @FirstDate DATE = '20180101'
;WITH CTE
AS
(
SELECT TOP (100) PERCENT NumberID, ROW_NUMBER() OVER (ORDER BY NumberID ASC) AS RowNumber
FROM Table1
WHERE numcue IN [conditions]
)
SELECT NumberID, DATEADD(dd, RowNumber-1, @FirstDate) AS Date
FROM CTE;