前提・実現したいこと
初投稿になります。DB初心者になります。
今回、トランザクションとマスタテーブルが用意されており、トランザクションに
マスタの情報を結合し、view(select文)を作りたいと思っています。
<使用環境>
postgreSQL12
windows10
具体的な内容としては、
マスタ(tm)
装置ID | 機能コード | 機能名 | 上限値 | 下限値 |
---|---|---|---|---|
A01 | kinou1 | 湿度測定 | 100 | 10 |
A01 | kinou2 | 気温測定 | 50 | 0 |
B01 | kinou1 | 湿度測定 | 80 | 20 |
B01 | kinou2 | 気温測定 | 60 | 5 |
```マスタ | ||||
souti_id, kinou_cd, kinou_name, souti_max_limit, souti_min_limit | ||||
A01,kinou1,湿度測定,100,10 | ||||
A02,kinou2,気温測定,50,0 | ||||
B01,kinou1,湿度測定,100,10 | ||||
B02,kinou2,気温測定,50,0 | ||||
``` |
トランザクション(tr)
装置ID | 温度測定値 | 気温測定値 | 測定日時 |
---|---|---|---|
A01 | 65 | 28 | 2020/10/26 10:00 |
A01 | 80 | 26 | 2020/10/26 11:00 |
A01 | 70 | 30 | 2020/10/26 12:00 |
B01 | 55 | 13 | 2020/10/26 10:00 |
B01 | 60 | 20 | 2020/10/26 11:00 |
B01 | 65 | 18 | 2020/10/26 12:00 |
```トランザクション | |||
souti_id, kinou1_val, kinou2_val, measu_date | |||
A01,65,28,2020/10/26 10:00 | |||
A01,80,26,2020/10/26 11:00 | |||
A01,70,30,2020/10/26 12:00 | |||
B01,55,13,2020/10/26 10:00 | |||
B01,60,20,2020/10/26 11:00 | |||
B01,65,18,2020/10/26 12:00 |
**出力結果** マスタで設定した、気温測定機能と湿度測定機能の上限と下限を参照し、 トランザクションと結合してselect結果を出力させたい。 (10:00~11:00のみ) tr.装置ID|tr.温度測定値|tm.温度上限値|tm.温度下限値|tr.気温測定値|tm.温度上限値|tm.温度下限値|tr.測定日時| |:--:|--:|--:|--:|--:|--:|--:|--:| |A01|65|100|10|28|50|0|2020/10/26 10:00| |A01|80|100|10|26|50|0|2020/10/26 11:00| |B01|55|80|20|28|60|5|2020/10/26 10:00| |B01|60|80|20|26|60|5|2020/10/26 11:00| ```トランザクション tr.souti_id, tr.kinou1_val, tm.kinou1_lim_max, tm.kinou1_lim_min, kinou2_val, tm.kinou2_lim_max, tm.kinou2_lim_min, tr.measu_date A01,65,100,10,28,50,0,2020/10/26 10:00 A01,80,100,10,26,50,0,2020/10/26 11:00 B01,55,80,20,28,60,5,2020/10/26 10:00 B01,60,80,20,26,60,5,2020/10/26 11:00
試したこと
結合を試みたのですが、レコードが2つ出力されるなど、うまくいきません。
わかりづらく申し訳ありませんが、どなたかヒントだけでもご教示いただけると幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー