使用 SQL(多个物料)更新物料单位成本



我有一个包含多列的表。 此表中的 2 列分别是item_no列和Unit_Cost

必须更改 100 种不同物品的单位成本。 我想编写一个 SQL 查询来使用新Unit_Cost更新所有 100 篇文章。

更新应仅应用于单位成本列,保持所有其他列的数据不变

谢谢

从您的评论中,您可以尝试将UpdateCASE WHEN一起使用。

CASE WHEN写下您的病情

update Item_Table 
Set unit_cost=(
CASE WHEN item_no = 'A' THEN 20 
WHEN item_no = 'B' THEN 12
WHEN item_no = 'C' THEN 32
END
)
where item_no in ('A','B','C') 

这是一些示例

create table Item_Table (
item_no varchar(50),
unit_cost int
);
insert into Item_Table values ('A',1);
insert into Item_Table values ('B',1);
insert into Item_Table values ('C',1);
insert into Item_Table values ('D',1);
update Item_Table 
Set unit_cost=(
CASE WHEN item_no = 'A' THEN 20 
WHEN item_no = 'B' THEN 12
WHEN item_no = 'C' THEN 32
END
)
where item_no in ('A','B','C') 

查询 1

SELECT * FROM Item_Table

结果

| item_no | unit_cost |
|---------|-----------|
|       A |        20 |
|       B |        12 |
|       C |        32 |
|       D |         1 |
UPDATE <table> SET <column> = <value> WHERE <condition>

请注意,该条件是可选的,如果要将更新应用于表中的所有记录,则无需提供条件。

https://dev.mysql.com/doc/refman/8.0/en/update.html

最新更新