No.3ベストアンサー
- 回答日時:
>1を入れる部分で文章みたいなのを入れてみたのですが、できませんでした。
>1の部分は数字じゃなきゃできないでしょうか?
はて?以下試してみてください
//元データ
create table tbl (id int ,data001 varchar(10) null ,data002 varchar(10) null);
insert into tbl values(1,'aaa','bbb'),(2,null,'ccc'),(3,'ddd',null),(4,null,null),(5,'','');
//更新
update tbl set data002=if(data001 is not null and data002 is null,'hoge',data002),data001=coalesce(data001,'fuga') where data001 is null or data002 is null;
ちなみにnullと''は別なのは理解いただいていますよね?
No.2
- 回答日時:
create table tbl (id int ,data001 int null ,data002 int null);
insert into tbl values(1,10,10),(2,null,10),(3,10,null),(4,null,null);
だとして、id=1は無視、id=2はdata001を1に、id=3はdata002を1に
id=4はdata001を1、data002をnullのまま
とすると
update tbl set data002=if(data001 is not null and data002 is null,1,data002),data001=coalesce(data001,1) where data001 is null or data002 is null;
みたいな感じ
まぁ厳密にはwhere句はいらない気がしますが・・・
ただしこれを
update tbl set data001=coalesce(data001,1),data002=if(data001 is not null and data002 is null,1,data002) where data001 is null or data002 is null;
でやってしまうと、data001がnullでも先に1がセットされてしまうので、
つねにdata002は1になってしまうのでNG
この回答への補足
1を入れる部分で文章みたいなのを入れてみたのですが、できませんでした。
1の部分は数字じゃなきゃできないでしょうか?
テーブルのデータはint から varcharに変えてみました。
No.1
- 回答日時:
> もしdata001がNullだったら、data001に"1"というデータをいれる。
ifnullを使う
Select ifnull( data001, ”1” ) as data001;
後半は自信無い。
> もしdata001がNullじゃないかつdata002がNullだったら、data002に"1"というデータをいれ る。
data001がNullならどうするの?
Select ( CASE WHEN (isnull( data001 ) = false and isnull( data002 ) = true) THEN ”1” ELSE data002 END ) as data002;
かな?
回答ありがとうございます!
見た感じこっちの方が難しそうで、まだ挑戦してないのですが、また今後時間があったらこっちの方法も試してみたいと思います!
ありがとうとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP データベースを用いたwebページ 1 2022/12/27 20:12
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- UNIX・Linux UbuntuにROSをインストールしたい 1 2023/03/06 12:28
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) 格納したデータを配列のように扱う方法はありますか? 8 2023/06/05 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
Mac です。ローカルホストの ph...
-
同一のユーザー、同一商品のと...
-
次の時間帯の勝率の合計を求め...
-
mysqlがインストールされている...
-
書籍の内容はまともでしょうか?
-
[1000地域 × 10カテゴリー = 1...
-
データベースの複製の仕方(mysql)
-
下記の問合せを行うクエリを、P...
-
【初歩】ラジオボタンをつかっ...
-
SQL任意に並び替えをしたい
-
SQLです。こんな感じですか?あ...
-
うまくいきません教えてくださ...
-
クエリを教えてください select...
-
テーブル名が可変の場合のクエ...
-
my_itemsテーブルのIDにAUTO_IN...
-
BGMを教えてほしいです!
-
XamppのMySQLへとレコードが登...
-
「最高気温が35度以上の日を猛...
-
「第一回模試の3科目の各得点...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Null値が入れられない
-
NULLを含む列の足し算
-
SQLでLIMIT句を入れるとエラー...
-
MySQLの特定のカラムの内容を全...
-
nullと同じく空白をCountしない...
-
テーブル作成時に、「`id` int(...
-
SQL文を入力したらエラー
-
phpとSQLで複数条件で検索する...
-
MySQLで関連したデータを横に並...
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
後でemailに追加でPRIMARY KEY...
-
sqlの中で、 例えば条件句で AN...
-
SQL任意に並び替えをしたい
-
コマンドプロンプト 実行結果...
-
count()の結果を別の計算で使う...
-
SELECT文の二段重ね
-
JOIN使ってないのに、JOIN操作...
-
コマンドプロンプト 複数の実...
-
SQLのエイリアス
おすすめ情報