У меня есть таблица продуктов с колонками (Name, ParentID, Order). У меня есть инструкция insert, в которой хранятся вставленные дочерние продукты. После вставки мне нужно обновить заказ,Обновление заказа на продукт не работает
У меня есть следующий SQL,
UPDATE Products
SET [Order] = (SELECT ISNULL(MAX([Order]), 0) + 1 FROM Products WHERE ParentID = CP.ParentID)
FROM Products P
INNER JOIN #InsertedChildProduct CP ON (CP.ID = P.ID)
Проблема заключается в том, что я обновляя заказ продуктов, которые только что вставил, но [Заказ] не работает , Если у меня есть,
Products
--------
ParentID Order
----------------
1 1
1 2
и пусть говорят, я вставил 2 ребенка продуктов, то таблица должна быть,
Products
--------
ParentID Order
----------------
1 1
1 2
1 3
1 4
Но я вижу,
Products
--------
ParentID Order
----------------
1 1
1 2
1 3
1 3
это просто выполняется обновление за один проход, поэтому MAX + 1 будет таким же независимо от того, сколько строк вы обновляете. – Tanner
@Tanner - любое решение. – user960567
Мышление ... tick tock tick tock :-) – Tanner