老实说,我不知道如何简单地在标题行上描述问题而不是示例。
我有一个包含两列的配置单元表:ID和日期
ID Date
31 01-01-2017
31 01-02-2017
31 01-03-2017
123 01-01-2017
123 01-01-2017
...
在此表中,我想包含另一个小时,例如下面的
列 ID Date Hour
31 01-01-2017 00
31 01-01-2017 01
31 01-01-2017 02
31 01-01-2017 03
31 01-01-2017 04
...
31 01-01-2017 23
31 01-02-2017 00
31 01-02-2017 01
...
基本上,对于每一行,我想在00到23之间添加一小时的值列。 可以使用配置单元实现吗? 非常感谢你。
答案 0 :(得分:1)
您可以创建一个临时表,其中包含0到23之间的条目,并与您拥有的表进行交叉连接。或者你可以利用CTE函数在CTE表中输入0到23的条目,然后用它进行交叉连接。
一个例子:
with temp as (
select 0 hour union all
select 1 hour union all
select 2 hour union all
select 3 hour union all
select 4 hour union all
select 5 hour union all
select 6 hour union all
select 7 hour union all
select 8 hour union all
select 9 hour union all
select 10 hour union all
select 11 hour union all
select 12 hour union all
select 13 hour union all
select 14 hour union all
select 15 hour union all
select 16 hour union all
select 17 hour union all
select 18 hour union all
select 19 hour union all
select 20 hour union all
select 21 hour union all
select 22 hour union all
select 23 hour
)
select * from table join temp
您还可以将结果插入表中以保留结果。希望它有所帮助