こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

selectで抽出したデータの特定カラムを空に

selectで抽出したデータの特定カラムのデータを空にしたいのですが、どのような方法がありますでしょうか。

以下のようなofficeテーブルがありまして、データは1万件あったとします。

id name place 
1 浅谷 大阪
2 亀山 東京
3 武本 名古屋

placeカラムに東京を含むidが5000未満のデータを抽出し、そのデータのplaceカラムをすべて空に(削除)したいと思っています。

SELECT * FROM office WHERE place like '%東京%' and id < 5000 order by id asc;

上記のselect構文で希望データを抽出することはできたのですが、その抽出したデータのplaceカラムを空に(データを削除)する方法が分かりません。

アドバイス頂けると助かります。
よろしくお願いいたします。

投稿日時 - 2012-12-06 22:28:40

QNo.7833143

困ってます

質問者が選んだベストアンサー

削除の意味がよくわかりませんが

UPDATE office set place=null WHERE place like '%東京%' and id < 5000;

的なデータベースの中身を削除するとか
単純に

SELECT id,name FROM office WHERE place like '%東京%' and id < 5000 order by id asc;

というようにplaceを読まない、もしくは読んでも無視するだけいいのでは?

まずは「SELECT *」を使うのをやめるところから

投稿日時 - 2012-12-06 22:36:33

お礼

希望通りのことができました!
ありがとうございました。

投稿日時 - 2012-12-06 23:14:29

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

select id,name from
または
select id,name,NULL place from
としてみては?

Oracleの表記なので、少し違うかも。。

投稿日時 - 2012-12-06 22:57:02

お礼

どうもありがとうございました。

投稿日時 - 2012-12-06 23:15:06

あなたにオススメの質問