使用条件更新sql表中的列

lnxxn5zx  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(380)


有人能帮我学一下sql语法吗?。见附件数据集。我正在尝试更新2019年sales type列的空值,其值与相关customername在2020年的值相同。2019年的销售类型需要为customername 指定social,因为这是2020年的相应值。这只是我在数据库中拥有的一个大表的示例。谢谢您

jm81lzqq

jm81lzqq1#

你应该想想你需要什么。
您需要更新2019年的表。

UPDATE my_table e
...
WHERE year = 2019

您需要在2020年将field sales类型更新为相同的值。

UPDATE my_table e
   SET sales_type = (...)
WHERE year = 2019

但我如何得到与2020年相同的价值:

SELECT sales_type
  FROM my_table i
 WHERE my_customername = i.customername AND year = 2020

但是我的\u customername与外部表中的customername相同。
最后你得到了:

UPDATE my_table e
   SET sales_type =
         (SELECT sales_type
            FROM my_table i
           WHERE e.customername = i.customername AND year = 2020)
 WHERE year = 2019

我确实试过了,但是出现了语法错误。你能给我些建议吗?

UPDATE SalesMaster_bkup e
   SET [Sales Typ] =
         (SELECT [Sales Typ]
            FROM SalesMaster_bkup i
           WHERE e.customername = i.customername AND year = 2020)
 WHERE year = 2019

相关问题