質問編集履歴

1

update

2019/02/08 01:22

投稿

kassy
kassy

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,54 @@
1
1
  SQLiteのCASE文で一気に条件分岐したいです
2
+
3
+
4
+
5
+ 例えば、
6
+
7
+ | id | num |
8
+
9
+ |---|---|
10
+
11
+ |1|10|
12
+
13
+ |2|20|
14
+
15
+ |3|30|
16
+
17
+
18
+
19
+ というデータがあった際に、idが1の時は数字を日本語読みで表示したいとします。
20
+
21
+ 現在はCASEを複数用いて、
22
+
23
+ ```sql
24
+
25
+ select
26
+
27
+ case when id = 1
28
+
29
+ then 'いち'
30
+
31
+ else id
32
+
33
+ end as id,
34
+
35
+ case when id = 1
36
+
37
+ then 'じゅう'
38
+
39
+ else num
40
+
41
+ end as num
42
+
43
+ from table
44
+
45
+ ```
46
+
47
+ みたいに書いているのですが、同じcase文を書くのが煩わしいです。
48
+
49
+ そこで次のようにcaseをまとめたいです。
50
+
51
+
2
52
 
3
53
  以下疑似コードです
4
54
 
@@ -8,14 +58,14 @@
8
58
 
9
59
  select
10
60
 
11
- case
61
+ case when num = 1
12
62
 
13
- when num > 1
63
+ then 'いち' as id, 'じゅう' as num
14
64
 
15
- then a, b, c, d
16
-
17
- else e, f, g, h
65
+ else id, num
18
66
 
19
67
  end
20
68
 
69
+ from table
70
+
21
71
  ```