SQL を使用して、値が等しくない場合にのみ、1 つの列のフィールド値を別の列のフィールド値と一致するように更新するにはどうすればよいですか?

kma1289

以下の例の表を使用すると、今のところ次のことがUPDATE wc_bidsys_picklist SET vipplays = 'YES' WHERE playoftheday = 'YES';
わかります。もしそうなら、どうすれば追加できますか:「列(game_date)フィールド値によって設定された特定の範囲内」「2016-06-29 00:00:00」から「2017-06-29 00:00:00」までの範囲。これも可能ですか?

私の特定の質問の詳細: (上記で部分的に回答済み)
「wc_bidsys_picklist」というテーブルに対して以下の例を使用する: SQL を使用すると、特定の列の各フィールドの値 (「NO」から「YES」) を更新する方法があります ( vipplays) 異なる特定の列 (playoftheday) のフィールドと等しくない場合にのみ、3 番目の列 (game_date) によって設定された特定の範囲内で、これらの列の両方のフィールドが一致する値 (「YES」) を持つことになりますか?

より簡単に言えば、「列 (game_date) で '2016-06-29 00:00:00' から '2017-06-29 00:00:00' の列 (playoftheday) のフィールド値が= 'YES' and the field value in the column (vipplays) = 'NO' then UPDATE the field value in the column (vipplays) to 'YES'. 可能であれば、これをSQLでどのように記述できますか?

UPDATE : aの後これはうまくいくように見えるフィドルへのいくつかの更新.
私のフィドル: http://sqlfiddle.com/#!9/69cf4/1/0

CREATE TABLE wc_bidsys_picklist
    (`id` int, `game_date` datetime, `playoftheday` varchar(5), `vipplays` varchar(5))
;

INSERT INTO wc_bidsys_picklist
    (`id`, `game_date`, `playoftheday`, `vipplays`)
VALUES
    (1, '2016-07-01 00:00:00', 'YES', 'NO'),
    (2, '2016-07-03 00:00:00', 'YES', 'YES'),
    (3, '2016-07-04 00:00:00', 'YES', 'NO'),
    (4, '2016-07-04 00:00:00', 'YES', 'NO'),
    (5, '2016-07-06 00:00:00', 'YES', 'NO'),
    (6, '2016-07-07 00:00:00', 'YES', 'YES'),
    (7, '2017-06-08 00:00:00', 'YES', 'NO'),
    (8, '2017-06-29 00:00:00', 'YES', 'NO')
;
UPDATE 
  wc_bidsys_picklist
SET 
  vipplays = 'YES' 
WHERE 
  playoftheday = 'YES'
AND
  (game_date BETWEEN '2016-07-01 00:00:00' AND '2017-06-29 00:00:00');


余談ですが、私はこのコミュニティとプログラミングに比較的慣れていないことを繰り返しておきます。なぜすぐに反対票が投じられるのか理解できません。メンバーは、あなたを助けることよりも、投稿を修正したり、新しいユーザーをいじめたりすることに関心があるようです。そして、どうやら私だけではないようです: https://hackernoon.com/the-decline-of-stack-overflow-7cb69faa575dこれは興味深い読み物です。

アナンド・ナデシュ

これはうまくいくと思います:

UPDATE wc_bidsys_picklist SET vipplays = 'YES' WHERE playoftheday = 'YES' AND game_date='2016-07-20 00:00:00';

必要に応じて日付を変更します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ