Я пытаюсь обновить несколько значений в одном столбце

#sql #sql-update #case

#sql #sql-обновление #случай

Вопрос:

Это вопрос:

-Если цена телефона меньше R8000, то происходит повышение цены на R100 -Если цена телефона составляет R8000 или более, то происходит снижение / уменьшение цены на 10% от первоначальной цены продажи телефона.

Это то, что я пробовал:

 UPDATE       tblPhoneDetails
SET          CellPhone_UnitPrice = CellPhone_UnitPrice - 100
WHERE        (CellPhone_UnitPrice < '8000'),
SET          CellPhone_UnitPrice = CellPhone_UnitPrice - CellPhone_UnitPrice * 0.1
WHERE        (CellPhone_UnitPrice > '8000')
 

Комментарии:

1. MySQL <> SQL Server. Пожалуйста, отметьте только одну базу данных, которую вы используете.

2. @KaylaThompson . , , Я удалил несовместимые теги базы данных. Пожалуйста, помечайте только ту базу данных, которую вы действительно используете. Кроме того, вы устанавливаете CellPhone_UnitPrice числовое значение, но сравниваете его как строку. Что такое реальный тип? Какие сравнения вы действительно хотите?

Ответ №1:

Я думаю, вам нужно case выражение:

 update tblphonedetails
set cellphone_unitprice = case 
    when cellphone_unitprice < 8000 then cellphone_unitprice - 100 
    else cellphone_unitprice * 0.9
end