簡體   English   中英

使用mysql中相同表的其他列的行更新行

[英]Update row with values of other column's row of same Table in mysql

我有一張桌子: -

 +----------+--------------+-------------------+-----------+
 | IsActive | IsFirstChunk | TotalResponseTime | StallTime |
 +----------+--------------+-------------------+-----------+
 | Yes      | Yes          | 62                | NULL      |
 | NULL     | NULL         | 327               | 0         |
 | NULL     | NULL         | 59                | 0         |

我想在列IsActive和IsFirstChunk標記為Yes的行中填充StallTime列的行,其值為TotalResponseTime,因此我的表格如下所示: -

 +----------+--------------+-------------------+-----------+
 | IsActive | IsFirstChunk | TotalResponseTime | StallTime |
 +----------+--------------+-------------------+-----------+
 | Yes      | Yes          | 62                | 62        |
 | NULL     | NULL         | 327               | 0         |
 | NULL     | NULL         | 59                | 0         |

您可以使用簡單的更新語句將TotalResponseTime的值分配給StallTime ,其中IsActiveIsFirstChunkyes

 update tbl set StallTime=TotalResponseTime where 
    IsActive='Yes' and IsFirstChunk='yes';

試試這個,

Update table set StallTime = TotalResponseTime where IsActive = 'Yes'  
AND IsFirstChunk  = 'Yes'

其他值的替代方法,如null,空,沒有嘗試

 Update table set StallTime = TotalResponseTime where IsActive <> '' AND IsFirstChunk <> ''

試一試,這應該有效。

你可以通過在where子句中應用條件來做到這一點。 如果IsActive和IsFirstChunk匹配'是'

update a1  
set stallTime = TotalResponseTime 
where IsActive in ('yes') and IsFirstChunk in ('yes');

其他方式

update a1  
set stallTime = TotalResponseTime 
where IsActive is not null and IsFirstChunk is not null;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM