我有两个数据集需要组合在一起。。。好吧,不止2个,但是1是一个已经设置好的视图,然后是一个表,我的任务是添加到视图中,使它更“历史”。
当前视图有很多列,但是( dbo.vw_Site_Levels
)影响我需要的是:
| Facility_Id | Site_Id | Grd_Val | Top_Val |
| ----------- | ------- | ------- | ------- |
| 7552 | 1-BCH | 701.23 | 855.21 |
| 7552 | 2-BCH | 701.23 | 855.21 |
| 7552 | 3-BCH | 614.86 | 716.74 |
| ... | ... | ... | ... |
但很显然,根据日期的不同 Grd_Val
以及 Top_Val
可能是不正确的,所以我应该带一张table过来, dbo.Measure_Data
,使用此结构:
| Facility_Id | Site_Id | Date | Desc | Val |
| ----------- | ------- | ----------------------- | ---- | ------- |
| 7552 | 1-BCH | 2015-09-03 00:00:00.000 | GRD | 683.00 |
| 7552 | 1-BCH | 2015-09-03 00:01:00.000 | TOP | 826.49 |
| 7552 | 1-BCH | 2016-04-04 00:00:00.000 | GRD | 701.23 |
| 7552 | 1-BCH | 2016-04-04 00:01:00.000 | TOP | 843.87 |
| 7552 | 1-BCH | 2017-01-05 00:01:00.000 | TOP | 855.21 |
| ... | ... | ... | ... | ... |
平展和展示 Grd_Val
以及 Top_Val
有日期,看起来像这样:
| Facility_Id | Site_Id | Date | Grd_Val | Top_Val |
| ----------- | ------- | ---------- | ------- | ------- |
| 7552 | 1-BCH | 2015-09-03 | 683.00 | 826.49 |
| 7552 | 1-BCH | 2016-04-04 | 701.23 | 843.87 |
| 7552 | 1-BCH | 2017-01-05 | 701.23 | 855.21 |
| ... | ... | ... | ... | ... |
我知道这两天的日期相差一分钟 Measure_Data
,我不控制数据,它只是因为它需要一个 Facility_Id
, Site_Id
,和 Date
.
有人能帮我吗?我试过一些似乎不值得一提的事情,因为它们没有接近我所需要的,虽然我确实接近一个,我想,我的电脑重置和失去我的查询(我正在做一个 GROUP BY
在一些事情上,我认为是一个自我连接,以扁平化的数据,但它是在星期五,我不记得了)。
2条答案
按热度按时间wa7juj8i1#
您可以通过使用条件聚合来实现这一点:
ifmq2ha22#
可以使用pivot操作符来执行此操作。
设施地址地址地址地址地址:valtop地址:75521-bch2015-09-03683.00826.4975521-bch2016-04-04701.23843.87