Я хочу обновить таблицу со значением другой таблицы. Но когда он не находит значение, я хочу вставить 999.SQL update select with if
Как я могу это сделать?
UPDATE [ORDRE]
SET [LIB_TOURNE] = (SELECT TOP 1 LIB_TOURNE
FROM TOURNE
WHERE LE_COMMUNE like ORDRE.VILLE
AND (TYPE_TOURNE = datepart(dw,getdate()) OR
TYPE_TOURNE = 0)
AND (datepart(hh, HEURE_TOURNE) = datepart(hh, ORDRE.DATE_CLOTUR)))
Это означает, что если синтаксис выбора не может найти значение, вместо этого я буду использовать значение 999.
Какая СУБД для этого? Добавьте тег, чтобы указать, используете ли вы 'mysql',' postgresql', 'sql-server',' oracle' или 'db2' - или что-то еще. –
Я думаю, что это утверждение обновляет все записи в таблице ORDRE. Вероятно, вы должны добавить оператор where, чтобы определить, какие записи вы хотите обновить. –