回答編集履歴

2

推敲

2021/07/03 12:35

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -72,4 +72,4 @@
72
72
 
73
73
 
74
74
 
75
- 条件に付いて別な発想思いつかないので、パス。
75
+ 条件に付いて別な発想思いつかないので、パス。

1

追記

2021/07/03 12:35

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -27,3 +27,49 @@
27
27
  and a.name != 'Art Garfunkel'
28
28
 
29
29
  ```
30
+
31
+ > 一箇所にできるならやりたいと思うのが1つ。
32
+
33
+
34
+
35
+ 取り敢えずは、With式
36
+
37
+ ```SQL
38
+
39
+ with base as (
40
+
41
+ select c.movieid, a.name
42
+
43
+ , case when a.name = 'Art Garfunkel' then 1 else 0 end target
44
+
45
+ from casting c
46
+
47
+ inner join actor a
48
+
49
+ on c.actorid = a.id
50
+
51
+ )
52
+
53
+ select distinct name
54
+
55
+ from base
56
+
57
+ where movieid in (
58
+
59
+ select movieid
60
+
61
+ from base
62
+
63
+ where target = 1
64
+
65
+ )
66
+
67
+ and target = 0
68
+
69
+ ```
70
+
71
+ > もう一つは可能な限り短くできるならそこと比較してみたいからです。
72
+
73
+
74
+
75
+ 条件に付いて別な発想が思いつかないので、パス。