首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过合并时间列将两个列的表合并成一个复杂的表?

如何通过合并时间列将两个列的表合并成一个复杂的表?
EN

Stack Overflow用户
提问于 2013-12-13 18:21:37
回答 1查看 67关注 0票数 1

例如,我有很多像[VV1][VV2]这样的表:

[TimeStamp][V1]

代码语言:javascript
运行
复制
2013-12-12 07:00:00.000 3628460,75
2013-12-12 09:00:00.000 3628460,75
2013-12-12 10:00:00.000 3628460,75
2013-12-12 11:00:00.000 3628460,75
2013-12-12 06:00:00.000 3628460,75

[TimeStamp][V2]

代码语言:javascript
运行
复制
2013-12-12 07:00:00.000 3628460,75
2013-12-12 09:00:00.000 3628460,75
2013-12-12 10:00:00.000 3628460,75
2013-12-12 06:00:00.000 3628460,75

我想得到一些类似的东西:

代码语言:javascript
运行
复制
2013-12-12 07:00:00.000 3628460,75  3628460,75
2013-12-12 08:00:00.000 NULL        3628460,75
2013-12-12 09:00:00.000 3628460,75  3628460,75
2013-12-12 10:00:00.000 3628460,75  3628460,75
2013-12-12 11:00:00.000 3628460,75  NULL
2013-12-12 06:00:00.000 3628460,75  3628460,75

我试着用joins来实现它,我的变种真的很糟糕:

代码语言:javascript
运行
复制
select distinct DATEADD(second, DATEDIFF(second, GETUTCDATE(), GETDATE()), coalesce(VV1.[TimeStamp], VV2.[TimeStamp])) as Date, V1, V2
from vv1
full join vv2
on vv2.TimeStamp = vv1.TimeStamp

( DATEDD是UTC到本地时间)

它是这样实现的,因为表计数是动态的,每次当我添加新的表并想要看到新的列时,我可以很容易地编辑select字符串。

但是这个变种很可怕,因为它填充了双倍,并且有更多的列,它变得疯狂,distinct是很难合并的……

现在我在思考理智和快速的实现。怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2013-12-13 18:54:09

我认为不会有性能更好的解决方案,但下面的查询可能是一种更简洁的方式,特别是在添加新表的情况下:

代码语言:javascript
运行
复制
select [Date]
     , MAX([Value1]) as [Value1]
     , MAX([Value2]) as [Value2]

from (
    select DATEADD(second, DATEDIFF(second, GETUTCDATE(), GETDATE()), VV1.[TimeStamp]) as [Date]
         , V1 as [Value1]
         , Null as [Value2]
    from vv1

    UNION ALL

    select DATEADD(second, DATEDIFF(second, GETUTCDATE(), GETDATE()), VV2.[TimeStamp]) as [Date]
         , Null as [Value1]
         , V2 as [Value2]
    from vv2 ) subquery

group by subquery.date
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20564039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档