首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >连接到由逗号分隔的键引用的表并对其中的数据求和的SQL代码

连接到由逗号分隔的键引用的表并对其中的数据求和的SQL代码
EN

Stack Overflow用户
提问于 2018-05-30 13:39:08
回答 1查看 117关注 0票数 1

我有两个这样的表:

InfoTable
-------------------
AVNR    Substation       ColumnTitle     S6_name      AVNRString
-------------------------------------------------------------------
1129     AHWAZ-1        T3+T4              MW          1129,1134
1130     AHWAZ-1        T3+T4              MX          1130,1135
1134     AHWAZ-1        T3+T4              MW          1129,1134
1135     AHWAZ-1        T3+T4              MX          1130,1135
8906     SHOMAL         T9                 MW             8906
8907     SHOMAL         T9                 MX             8907

DataTable
------------------------------------------------
Pdate           Ptime     AVNR        Wert
------------------------------------------------
03-13-2017      01:00     1129         12.65
03-13-2017      02:00     1129         25.65
03-13-2017      03:00     1129         102.05
03-12-2017      01:00     1129         12.65
03-14-2017      01:00     1129         12.65
03-16-2017      05:00     1129         12.65    
03-13-2017      01:00     1134         12.65
03-13-2017      02:00     1134         25.65
03-13-2017      03:00     1130         102.05
03-12-2017      01:00     1135         11.15
03-14-2017      01:00     1130         10.00
03-16-2017      01:00     8906         24.5
03-13-2017      01:00     8906         23.5
03-16-2017      02:00     8907         22.5
03-13-2017      01:00     8907         21.5
03-16-2017      05:00     8906         12.5
03-13-2017      02:00     8907         20.5

我想要这样的结果

 ResultTable
-------------------
Substation    ColumnTitle     S6_name   Pdate       pTime   Sum_of_Wert     
-------------------------------------------------------------------
 AHWAZ-1        T3+T4          MW      03-13-2017    01:00   25.3  (sum of Wert for 1129,1134  for that date and time)
 AHWAZ-1        T3+T4          MW      03-13-2017    02:00   51.3  (sum of Wert for 1129,1134  for that date and time)
 AHWAZ-1        T3+T4          MW      03-13-2017    03:00    xxx
 AHWAZ-1        T3+T4          MX      03-14-2017    01:00    xxx
 SHOMAL         T9             MW      03-13-2017    01:00    xxx
 SHOMAL         T9             MW      03-13-2017    02:00    xxx

.

例如,我想要在AvrString中区分每个日期和时间的Substations的总和值。

有没有可能我可以用SQL做这件事?我不是,也许是在Linq?我已经在visual studio中编写了程序,但是速度很慢。我想知道对此是否有什么想法。

我是在visual studio中用sql数据库用c#编程的。

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 06:41:37

下面是使用STRING_SPLIT的查询

SELECT it.Substation,it.ColumnTitle,it.S6_name,dt.Pdate,dt.pTime, SUM(dt.Wert) AS Sum_of_Wert
FROM InfoTable it
CROSS APPLY (SELECT value FROM STRING_SPLIT(it.AVNRString, ',') ) x
CROSS APPLY (SELECT * FROM DataTable  WHERE AVNR = CAST(x.value as INT) ) dt
GROUP BY it.Substation,it.ColumnTitle,it.S6_name,dt.Pdate,dt.pTime

SQL Fiffle链接http://sqlfiddle.com/#!18/e1ed2d/1

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

https://stackoverflow.com/questions/50597050

复制
相关文章

相似问题

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