у меня 3 таблицы.
Table Product
Product_ID | Review_date |
1 | 01/01/2018 |
2 | 01/01/2018 |
3 | 01/01/2018 |
4 | 01/01/2018 |
Table Inventory
Inventory_ID | Product_ID | Location_ID
1 | 2 | 1 |
2 | 2 | 3 |
3 | 3 | 4 |
4 | 1 | 4 |
Table Location
Location_ID| Review_date |
1 | 04/02/2018 |
2 | 06/03/2018 |
3 | 01/05/2018 |
4 | 08/28/2018 |
UPDATE
Таблица продуктов набор информации о продукте. Таблица инвентаризации содержит информацию о местах, где продукты доступны. Один продукт может иметь несколько запасов, а продукт не может иметь запасов. Таблица местоположений имеет уникальный список всех возможных местоположений. Дата обзора в таблице местоположений часто обновляется.
Я хочу обновить дату проверки в таблице продуктов для каждого идентификатора продукта и выбрать максимальное значение (review_date) из таблицы местоположений для каждого идентификатора продукта. Потому что продукт может иметь несколько запасов и назначенных ему мест. Я хочу, чтобы дата обновления местоположения продукта была обновлена.
Ожидаемый результат
Таблица продукции
Product_ID | Review_date |
1 | 08/28/2018 | this prod id in inventory has loc id 4.
2 | 04/02/2018 | two inv records for the product so max date
3 | 08/28/2018 |
4 | 01/01/2018 | no inv record. so leave it as such
UPDATE P
SET P.review_date = L.Inventory_review_date
FROM Product AS P
CROSS APPLY
(
select top 1 inventory_review_Date
from Location as L, Inventory as I, PRODUCT as P
where L.Location_ID = I.Inventory_ID and P.Product_ID = I.Product_ID
order by
L.Inventory_Review_date desc
) as L
Я пробовал что-то подобное по-разному, но, похоже, я этого не понимаю. Любая помощь приветствуется. ТИА