計算機科学のブログ

ほしい物リスト

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;