回答編集履歴
1
調整
answer
CHANGED
@@ -22,4 +22,18 @@
|
|
22
22
|
select case user_id in (select id from user_tbl where username in ('A', 'D', 'E', 'X', 'Y'))
|
23
23
|
when 1 then loginname else 'notfound' end as login_name
|
24
24
|
from login_tbl;
|
25
|
-
```
|
25
|
+
```
|
26
|
+
|
27
|
+
# 調整版
|
28
|
+
上記データに対してこう
|
29
|
+
|
30
|
+
```SQL
|
31
|
+
create temporary table tmp_tbl(username varchar(10));
|
32
|
+
insert into tmp_tbl values('A'),('D'),('E'),('X'),('Y');
|
33
|
+
select coalesce(loginname,'notfound') as loginname from tmp_tbl as t1
|
34
|
+
left join user_tbl as t2 on t1.username=t2.username
|
35
|
+
left join login_tbl as t3 on t2.id=t3.user_id
|
36
|
+
;
|
37
|
+
```
|
38
|
+
つまりX,Yのような存在しないデータに対する処理はできないので
|
39
|
+
都度テンポラリテーブルで存在するデータにするということ。
|