SQL - SQLite - 高度なSELECT文 - 新たな目でデータを見る - CASE式, when, then, else, 列の削除, drop
Head First SQL ―頭とからだで覚えるSQLの基本、 Lynn Beighley(著)、 佐藤 直生(監訳)、 松永 多苗子(翻訳)、 オライリージャパンの 6章(高度なSELECT文 - 新たな目でデータを見る)、p.247(CASEの構築)の解答を求めてみる。
sample3.sql
update movie_table
set category =
case
when drama = 'T' and rating = 'R'then 'ドラマ/R'
when comedy = 'T' and rating = 'R' then 'コメディ/R'
when actoin = 'T' and rating = 'R' then 'アクション/R'
when gore = 'T' and rating = 'R' then 'ホラー/R'
when scifi = 'T' and rating = 'R' then 'SF/R'
when category = 'その他' and rating = 'G' then 'ファミリー'
end;
update movie_table
set category =
case
when 'ドラマ/R' then 'ドラマ'
when 'コメディ/R' then 'コメディ'
when 'アクション/R' then 'アクション'
when 'ホラー/R' then 'ホラー'
when 'SF/R' then 'SF'
end;
alter movie_table
drop column darama,
drop column comedy,
drop column action,
drop column gore,
drop column scifi,
drop column for_kids,
drop column cortoon;