回答編集履歴

1

LEFT OUTER JOIN ではなくて FULL OUTER JOINを使うほうが一般的なのでそちらに修正しました。

2021/01/12 11:21

投稿

neko_the_shadow
neko_the_shadow

スコア2349

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  SELECT
36
36
 
37
- P.ユーザー名,
37
+ COALESCE(B.ユーザー名, C.ユーザー名),
38
38
 
39
39
  CASE
40
40
 
@@ -60,18 +60,8 @@
60
60
 
61
61
  END AS 備考
62
62
 
63
- FROM (
63
+ FROM B
64
64
 
65
- SELECT ユーザー名 FROM B
66
-
67
- UNION
68
-
69
- SELECT ユーザー名 FROM C
70
-
71
- ) AS P
72
-
73
- LEFT OUTER JOIN B ON P.ユーザー名 = B.ユーザー名
74
-
75
- LEFT OUTER JOIN C ON P.ユーザー名 = C.ユーザー名
65
+ FULL OUTER JOIN C ON B.ユーザー名 = C.ユーザー名
76
66
 
77
67
  ```