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

回答編集履歴

2

補足追加

2016/08/01 12:42

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -43,4 +43,26 @@
43
43
 
44
44
  個人的には食べ物区分は種別ごとに一意に振られ、
45
45
  でもフルーツとお菓子どっちも取ってこないいけないよという要件があるなら、
46
- もう一個それを示すフラグとか区分なりを追加する方が後々すっきりするかなとも思ってます。
46
+ もう一個それを示すフラグとか区分なりを追加する方が後々すっきりするかなとも思ってます。
47
+
48
+ ###補足
49
+ CASE式について補足。
50
+ THEN句の後の値のデータ型が一致することが要求されます。
51
+
52
+ 以下は文字列の場合
53
+ ```SQL
54
+ CASE col1
55
+ WHEN '1' THEN '文字列1'
56
+ WHEN '2' THEN '文字列2' -- 一つ目文字なら2つ目も文字で統一
57
+ ELSE NULL -- ただしNULLはOK
58
+ END
59
+ ```
60
+
61
+ 以下は数値
62
+ ```SQL
63
+ CASE col1
64
+ WHEN '1' THEN 100
65
+ WHEN '2' THEN 5 -- 一つ目数値なら2つ目も数値で統一
66
+ ELSE NULL -- ただしNULLは(ry
67
+ END
68
+ ```

1

追記

2016/08/01 12:42

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -16,6 +16,7 @@
16
16
 
17
17
  ③が採用できる条件は、
18
18
  - 出力結果としてカラムが増えることが許容できること(個人的には結果を混ぜるよりはカラムは分けてた方がメンテしやすい気はします)
19
+ 出力の仕方は区分値に該当するなら登録値、なければNULLとか空文字とか…
19
20
 
20
21
  ②については上記2つの選択肢が取れない場合に採用する手段かなと思います。
21
22