MYSQL(自分が書いた社内Wikiから勝手に転載)
MYSQLのIF文は、使いこなせば結構便利です。ネットにはなぜか
SELECT IF(2>1, "yes", "no")
こんな例文しか載っていなくてわかりづらいので、汎用的な例文とかを残しておきます。
create table tamagoya_menu (lunch_code varchar(3), menu varchar(255), main_flag char(1));
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| lunch_code | char(3) | YES | | NULL | |
| menu | varchar(255) | YES | | NULL | |
| main_flag | char(1) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
insert into tamagoya_menu values('001', 'カニクリームコロッケ', 't');
insert into tamagoya_menu values('001', 'あじ塩焼', 'f');
insert into tamagoya_menu values('001', 'ホイコーロー', 'f');
insert into tamagoya_menu values('001', 'ボロニアソーセージ', 'f');
insert into tamagoya_menu values('001', 'スパゲティーナポリタン', 'f');
insert into tamagoya_menu values('001', 'カボチャサラダ', 'f');
insert into tamagoya_menu values('001', 'レモン', 'f');
insert into tamagoya_menu values('002', '五目とり釜めし', 't');
insert into tamagoya_menu values('002', 'まぐろ味噌漬焼', 'f');
insert into tamagoya_menu values('002', '金平ごぼう', 'f');
insert into tamagoya_menu values('002', '冷やっこ', 'f');
insert into tamagoya_menu values('002', '若鶏磯辺揚', 'f');
insert into tamagoya_menu values('002', 'ほうれんそうゴマ和え', 'f');
insert into tamagoya_menu values('002', '厚焼玉子', 'f');
insert into tamagoya_menu values('002', 'うずら豆', 'f');
+------------+------------------------+-----------+
| lunch_code | menu | main_flag |
+------------+------------------------+-----------+
| 001 | カニクリームコロッケ | t |
| 001 | あじ塩焼 | f |
| 001 | ホイコーロー | f |
| 001 | ボロニアメ[セージ | f |
| 001 | スパゲティーナポリタン | f |
| 001 | カボチャサラダ | f |
| 001 | レモン | f |
| 002 | 五目とり釜めし | t |
| 002 | まぐろ味噌漬焼 | f |
| 002 | 金平ごぼう | f |
| 002 | 冷やっこ | f |
| 002 | 若鶏磯辺揚 | f |
| 002 | ほうれんそうゴマ和え | f |
| 002 | 厚焼玉子 | f |
| 002 | うずら豆 | f |
+------------+------------------------+-----------+
よくわからない例かもしれませんが、以下は「main_flagがtならlunch_codeを、fならmenuをselectする」式です。
select if(main_flag = 't', lunch_code, menu ) as new_menu from tamagoya_menu;
/ 条件式 / 条件がtrue / 条件がfalse /
+------------------------+
| new_menu |
+------------------------+
| 001 |
| あじ塩焼 |
| ホイコーロー |
| ボロニアメ[セージ |
| スパゲティーナポリタン |
| カボチャサラダ |
| レモン |
| 002 |
| まぐろ味噌漬焼 |
| 金平ごぼう |
| 冷やっこ |
| 若鶏磯辺揚 |
| ほうれんそうゴマ和え |
| 厚焼玉子 |
| うずら豆 |
+------------------------+
もちろん、表結合やグループ化なども行え、結構使い勝手がいいです。