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