Как обновить столбец в таблице, когда условия для обновления зависят от значений другой таблицы - PullRequest
0 голосов
/ 16 мая 2019

Я хочу обновить статус доставки моей таблицы «А», но условия зависят от значений таблиц «А» и «В».

Я использовал запрос выборачтобы просмотреть список элементов из обеих таблиц, которые имеют статус доставки как NULL.

SELECT B.col1, A.Col2, A.Col3
FROM A,
     B
WHERE A.col3 = '1234'
  AND A.col4 = "Ready"
  AND A.col5 = B.col6
  AND A.Delivery_status IS NULL

Я пытался обновить это напрямую, но, похоже, это не работает.

Update A
SET A.Status = 'Delivered'
FROM A,
     B 
WHERE A.col3 = '1234'
  AND A.col4 = "Ready"
  AND A.col5 = B.col6
  AND A.Delivery_status IS NULL

Таким образом, после получения этих значений с помощью команды выбора я хочу обновить их, установив состояние доставки «Доставлено».Как правильно оформить запрос для этого?

Редактировать: Кстати, я использую MS SQL Server

1 Ответ

0 голосов
/ 16 мая 2019

Просто удалите A in из условия при обновлении, как показано ниже:

Update A SET Status = 'Delivered' FROM B
WHERE 
  A.col5 = B.col6
  AND A.col3 = '1234'
  AND A.col4 = 'Ready'
  AND A.Delivery_status IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...