我有两张桌子。配置和数据。配置表有信息来定义我所说的"预定义点"。列是configId,machineId,iotype,ioid,subfield和predeftype。我有一个第二个表,其中包含configId链接的配置表中所有项目的所有数据。数据表包含configId,timestamp,value。
我试图从配置表中返回每一行,结果中有2个新列,这是此特定预定义点的最小时间戳和此特定预定义点的最大时间戳。
伪代码将是
select a.*, min(b.timestamp), max(b.timestamp) from TrendConfig a join TrendData b on a.configId = b.configId where configId = (select configId from TrendConfig)
子查询将返回多个值。
知道如何制定这个吗?
答案 0 :(得分:0)
尝试内部联接:
选择a。*,b.min(时间戳),b.max(时间戳) 来自配置a 内连接数据b 在a.configId = b.configID
上答案 1 :(得分:0)
我能够使用Why can't you mix Aggregate values and Non-Aggregate values in a single SELECT?
找到答案解决方案确实是GROUP BY作为上面提到的CL。
从TrendConfig中选择a。*,min(b.timestamp),max(b.timestamp)a.configId上的a.configId = b.configId组中的连接TrendData b