私は、各sensorID(各sensorIDの最新の値)の最後の行のみを与えるselect文のために参加する必要がある2つのテーブルがあります。ここに私のテーブルです:内側の最も最近の行を結合する
sensorID| Name | Description | stationID
---------------------------------
1 | Name1 | Desc1 | 2
2 | Name2 | Desc2 | 1
3 | Name3 | Desc3 | 3
4 | Name4 | Desc4 | 2
値
vID | sensorID | Date | Time | value
---------------------------------
1 | 1 | 2016-12-29 | 15:08:00 | 0.2
2 | 1 | 2016-12-29 | 15:10:00 | 0.21
3 | 1 | 2016-12-29 | 15:12:00 | 0.4
4 | 4 | 2016-12-29 | 15:14:00 | 12.2
私は次のことを実行してみました:
これらの結果を生成SELECT * FROM H INNER JOIN Values V ON H.sensorID = V.sensorID WHERE H.stationID = 2;
:
sensorID | Name | Description | stationID | vID | sensorID | Date | Time | value
1 | Name1| Desc1 | 2 | 1 | 1 |2016-12-29 | 15:08:00 | 0.2
1 | Name1| Desc1 | 2 | 2 | 1 |2016-12-29 | 15:10:00 | 0.21
1 | Name1| Desc1 | 2 | 3 | 1 |2016-12-29 | 15:12:00 | 0.4
4 | Name4| Desc4 | 2 | 4 | 1 |2016-12-29 | 15:14:00 | 12.2
しかし、私は探していますこの出力:
sensorID | Name | Description | stationID | vID | sensorID | Date | Time | value
1 | Name1| Desc1 | 2 | 3 | 1 |2016-12-29 | 15:12:00 | 0.4
4 | Name4| Desc4 | 2 | 4 | 1 |2016-12-29 | 15:14:00 | 12.2
サブクエリの 'Values'行をフィルタリングし、' H'テーブルに追加します。この回答をチェックして、サブクエリで結合を使用する方法を確認してください。http://stackoverflow.com/questions/10493512/how-to-write-subquery-inside-the-outer-join-statement –
あなたは正しいですが、私はそれをフィルタリングする方法はわかりません:/それは "sensorIDごとに最新の値を取得してから、この結果を他のテーブルにジョインする"のようなものです。 – Lukas