Ваш запрос будет всегда установить значение EStatus на 'In-Use' на основе сопоставления SETID значение @Scan, поскольку элемент EXISTS всегда будет правдой.
- Добавлены тестовые значения в таблице Control_Log ... --insert INTO Control_Log --VALUES ('1', '12', '4')
DECLARE @Scan NVARCHAR (4) ;
SET @Scan = 1;
- Это сбросит все значения EStatus до NULL ... ОБНОВЛЕНИЕ Оборудование SET EStatus = NULL;
- Используйте этот запрос для обновления с помощью параметра @Scan ... UPDATE е SET e.EStatus = 'In-Use' ОТ оборудования AS е WHERE e.SetID = @Scan И СУЩЕСТВУЕТ (SELECT c.SCAN1, c.SCAN2, c.SCAN3 ОТ Control_Log с ГДЕ c.SCAN1 = e.SetID ИЛИ c.SCAN2 = e.SetID ИЛИ c.SCAN3 = e.SetID)
- - Используйте этот запрос для обновления всех записей оборудования - которые соответствуют значениям в Control_Log, -. Без использования параметра ... --ВЫБЕРИТЕ е * UPDATE е SET e.EStatus = 'In-Use' ОТ оборудования AS е ГДЕ СУЩЕСТВУЕТ (SELECT c.SCAN1, c.SCAN2, c.SCAN3 ОТ Control_Log с ГДЕ c.SCAN1 = e.SetID ИЛИ c.SCAN2 = e.SetID ИЛИ c.SCAN3 = e.SetID)
SELECT * FROM Control_Log
SELECT * FROM Оборудование
Image of above queries
Equipment values after update query
10-Q Рахул ... это сработало .... !!!! – Sepa
@Sepa, подумайте о принятии ответа, нажав кнопку «Проверить». – Rahul