teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

sazi様の回答をもとに正しい解決方法を追加

2020/08/14 05:10

投稿

yamekodev
yamekodev

スコア17

answer CHANGED
@@ -1,3 +1,39 @@
1
+ sazi様の方法を応用して、idでフィルタした結果に対して、where句で時間を指定することで実現できました。
2
+ 本当にありがとうございました。
3
+ [http://sqlfiddle.com/#!17/c64c83/14](http://sqlfiddle.com/#!17/c64c83/14)
4
+ ```PostgreSQL
5
+ select
6
+ base2.id,
7
+ base2.observed1,
8
+ base2.observed2,
9
+ base2.recorded
10
+ from (
11
+ select
12
+ base1.id,
13
+ meter1.observed AS observed1,
14
+ meter2.observed AS observed2,
15
+ camera.recorded,
16
+ meter1.name,
17
+ meter2.name,
18
+ camera.name
19
+ from ( select id from meter1
20
+ union select id from meter2
21
+ union select id from camera
22
+ ) base1
23
+ left join meter1 ON base1.id = meter1.id
24
+ left join meter2 ON base1.id = meter2.id
25
+ left join camera ON base1.id = camera.id
26
+ ) base2
27
+ where (base2.observed1 = base2.observed2)
28
+ AND (base2.observed2 = base2.recorded)
29
+ AND (base2.recorded = base2.observed1)
30
+ ```
31
+
32
+
33
+ 以下は自己解決したと勘違いしていたときの内容です。
34
+ 念のため消さずに残しておきます
35
+
36
+ ---
1
37
  要素の名前が違うことをサンプルに入れておらず、正しい質問ができていませんでした。
2
38
  申し訳ありませんでした。
3
39
  USINGを使って実現できました。