2017-07-06 50 views
0

我有兩個表。配置和數據。配置表有信息來定義我稱之爲「預定義點」的內容。列是configId,machineId,iotype,ioid,子字段和predeftype。我有第二個表,其中包含configId鏈接的配置表中所有項目的所有數據。數據表包含configId,時間戳,值。SQL查詢幫助 - 循環查看數據

我想從配置表中返回每行,結果中有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) 

子查詢將返回多個值。

Table structure image

任何想法如何制定呢?

+0

請告訴我們的表結構,以便可以給出確切的答案。很可能這可以通過連接或相關子查詢來完成。 –

+0

聽起來就像你在談論加入 - https://www.w3schools.com/sql/sql_join.asp –

+0

蒂姆,我包括了一個結構的圖像。 – Tacitus86

回答

0

儘量內連接:

選擇*,b.min(時間戳),b.max(時間戳) 從CONFIG一個 內上a.configId = b.configID

加入數據B 。
+0

它與min(b.timestamp)和max(b.timestamp)一起運行,但只返回單個結果......因爲它只獲取所有點的最大/最小值,而不是Config表中的每個點。 – Tacitus86