Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重复从列表或数组SQL中选择/操作馈送参数_Sql_Excel 2010_Historian_Wonderware - Fatal编程技术网

重复从列表或数组SQL中选择/操作馈送参数

重复从列表或数组SQL中选择/操作馈送参数,sql,excel-2010,historian,wonderware,Sql,Excel 2010,Historian,Wonderware,对SQL非常陌生,可能需要一些建议/想法 我正在使用SQL查询将现有表(Wonderware/Runtime/AnalogSummaryHistory)中的数据检索并格式化为Excel 2010。 我的查询用于获取所需的结果格式,但仅适用于单个/通用聚合函数。我不知道如何将单独的聚合函数与每个感兴趣的标记相关联 我想增强它的以下功能 我想定义一个列表(硬编码是好的,从Excel单元格范围中提取的动态列表将更具技巧) 标签-->(标签1,标签2,…) 函数---------------->(Agg

对SQL非常陌生,可能需要一些建议/想法

我正在使用SQL查询将现有表(Wonderware/Runtime/AnalogSummaryHistory)中的数据检索并格式化为Excel 2010。 我的查询用于获取所需的结果格式,但仅适用于单个/通用聚合函数。我不知道如何将单独的聚合函数与每个感兴趣的标记相关联

我想增强它的以下功能

我想定义一个列表(硬编码是好的,从Excel单元格范围中提取的动态列表将更具技巧)

标签-->(标签1,标签2,…)

函数---------------->(AggType1,AggType2,…)

其中,AggTypeX是我想要的对应TagX的聚合函数类型(MIN/MAX/AVG/LAST等,作为现有源表中的列数据提供)(定义列表中的AggTypes可以重复) 然后,我希望通过此列表运行查询,以创建具有相应聚合函数类型数据值的TagX列的结果。 我更喜欢将结果列按初始标记列表中定义的顺序排列为L-R

此外,我希望能够在Excel 2010连接定义中运行此查询。 *我尝试使用临时表构建原始查询,但无法在Excel中运行。似乎在插入时爆炸以填充临时表。可能是我的经验不足,可能是Excel的局限性,DK

我想要的结果是:

ShortDate    | Tag1              | Tag2
-------------------------------------------------------------------
Date1        | Tag1Date1Agg1Val  | Tag2Date1Agg2Val
Date2        | Tag1Date2Agg1Val  | Tag2Date2Agg2Val
非常感谢您的反馈

我当前的查询/设置:

现有表格(AnalogSummaryHistory):

我的问题是:

select * from
(
SELECT top 100 percent convert(varchar(10), StartDateTime, 101) as ShortDate, TagName, Last
FROM AnalogSummaryHistory
WHERE TagName IN ('Tag1','Tag2')
AND wwVersion = 'Latest'
AND wwRetrievalMode = 'Cyclic'
AND wwResolution=24*60*60*1000
AND StartDateTime >= '20171001 00:00:00.000'
AND EndDateTime <= '20171101 00:00:00.000'
)x
pivot
(
max(Last)
for Tagname in ([Tag1],[Tag2])
) pvt
select * from
(
SELECT top 100 percent convert(varchar(10), StartDateTime, 101) as ShortDate, TagName, Last
FROM AnalogSummaryHistory
WHERE TagName IN ('Tag1','Tag2')
AND wwVersion = 'Latest'
AND wwRetrievalMode = 'Cyclic'
AND wwResolution=24*60*60*1000
AND StartDateTime >= '20171001 00:00:00.000'
AND EndDateTime <= '20171101 00:00:00.000'
)x
pivot
(
max(Last)
for Tagname in ([Tag1],[Tag2])
) pvt
ShortDate | Tag1             | Tag2
--------------------------------------------------------------
Date1     | Tag1Date1AggVal  | Tag2Date1AggVal
Date2     | Tag1Date2AggVal  | Tag2Date2AggVal