使用同一表中的值更新表

问题描述 投票:0回答:1
我正在尝试更新表中包含列“NA”值的行。该单元格应包含在同一行的另一个单元格中找到的文件编号,而不是“NA”值。数据看起来像这样 --

文件号文件_编号不适用182678不适用183679
我很困惑是否需要使用联接,并且我不知道子查询在这里如何工作。我最初编写了以下内容,它将加入唯一的 ID(入藏号)--

更新 SET t.file_num = z.file_number 从表t INNER JOIN 表 z ON t.accession = z.accession 哪里 t.file_num = "NA"

但是看起来加入可能是不必要的,并且可能会产生一些其他问题?由于我正在使用在同一个表和同一行中找到的数据进行更新,是否可以--

更新 SET t.file_num = t.file_number 从表t 哪里 t.file_num = "NA"

sql sqlite
1个回答
0
投票
UPDATE your_table_name SET file_num = file_number WHERE file_num = 'NA';
如果您要更新同一行中的值并且条件基于该行中列的值,则通常不需要联接。您的第二个查询看起来很接近您所需要的,但我想更好的语法是在赋值语句中使用列名而不是表别名。

© www.soinside.com 2019 - 2024. All rights reserved.