Обновление затрат на единицу товара с использованием SQL (несколько предметов) - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть таблица с несколькими столбцами. 2 столбца в этой таблице: item_no и Unit_Cost

Стоимость единицы должна быть изменена для 100 различных товаров. Я хочу написать SQL-запрос, чтобы обновить все 100 статей с их новым Unit_Cost.

Обновление должно применяться только к столбцу затрат на единицу, при этом данные по всем остальным столбцам остаются неизменными

Спасибо,

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Из вашего комментария вы можете попробовать использовать Update с CASE 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 |
0 голосов
/ 04 сентября 2018
UPDATE <table> SET <column> = <value> WHERE <condition>

Обратите внимание, что условие является необязательным, и вам не нужно его указывать, если вы хотите применить обновление ко всем записям в таблице.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...