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

回答編集履歴

2

推敲

2021/07/03 12:35

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -35,4 +35,4 @@
35
35
  ```
36
36
  > もう一つは可能な限り短くできるならそこと比較してみたいからです。
37
37
 
38
- 条件に付いて別な発想思いつかないので、パス。
38
+ 条件に付いて別な発想思いつかないので、パス。

1

追記

2021/07/03 12:35

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -12,4 +12,27 @@
12
12
  where a.name = 'Art Garfunkel'
13
13
  )
14
14
  and a.name != 'Art Garfunkel'
15
- ```
15
+ ```
16
+ > 一箇所にできるならやりたいと思うのが1つ。
17
+
18
+ 取り敢えずは、With式
19
+ ```SQL
20
+ with base as (
21
+ select c.movieid, a.name
22
+ , case when a.name = 'Art Garfunkel' then 1 else 0 end target
23
+ from casting c
24
+ inner join actor a
25
+ on c.actorid = a.id
26
+ )
27
+ select distinct name
28
+ from base
29
+ where movieid in (
30
+ select movieid
31
+ from base
32
+ where target = 1
33
+ )
34
+ and target = 0
35
+ ```
36
+ > もう一つは可能な限り短くできるならそこと比較してみたいからです。
37
+
38
+ 条件に付いて別な発想が思いつかないので、パス。