使用下面的示例表格,截至目前,我有: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」)只有當它不等於不同特定列(playoftheday)的字段時,這兩個列中的字段最終纔會具有匹配的值('YES'),而在由特定列設置的特定範圍內第三列(game_date)?
使用SQL如何才能更新一列的字段值以匹配不同列的字段值,只有當這些值不相等時?
更簡單來說,我需要通過是否‘2017年6月29日00:00:00’說「從‘2016年6月29日00:00:00’列(GAME_DATE)的字段值列(playoftheday)='YES'和列中的字段值(vipplays)='NO',那麼將列(vipplays)中的字段值更新爲'YES'。如果可能的話,這可以寫入SQL ?
UPDATE:經過幾次更新,這一次似乎工作小提琴
我的小提琴: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這是一個有趣的閱讀。
添加AND_date_added> ='2016-07-20 00:00:00'和date_added <= .....您可以使用NOT或<>作爲排除 – clearshot66
請參閱:[爲什麼要提供MCVE for在我看來是一個非常簡單的SQL查詢?](https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-一個非常簡單的SQL查詢) – Strawberry
phpmyadmin是一個SQL的用戶界面 - 這是不相關的問題:) – ThisGuyHasTwoThumbs