У меня есть стол CUST
со следующим расположением. Нет ограничений. Я вижу, что один ChildID
имеет более одного связанного с ним связанного с ним ParentID
. (Пожалуйста, смотрите записи для ChildID = 115
)Как сделать условное обновление столбцов с помощью CTE?
Вот что мне нужно -
Где бы один ребенок имеет более чем 1 родитель, я хочу, чтобы обновить эти ParentID
и ParentName
с ParentID
и ParentName
, который имеет максимальную match_per
. Итак, на рисунке ниже я хочу, чтобы ParentID
1111 и ParentName
LEE YOUNG WOOK обновили все записи, где ChildId = 115
(так как match_per
0,96 максимум в пределах заданного набора). Если есть два родителя с равным max match_per, тогда я хочу выбрать один из них.
Я знаю, что это возможно с помощью КТР, но я не знаю, как обновить КТР. Может ли кто-нибудь помочь?
Вместо 'SELECT * FROM myCTE' try' UPDATE myCTE SET myCTE.ParentName = 'Whatever' WHERE myCTE.YourColumn = 'somethingvalue'' – Fabio