как обновить значение столбца зависит от другого столбца в той же таблице - PullRequest
1 голос
/ 25 мая 2019

как обновлять значения столбца зависит от значений другого столбца в той же таблице в sql-сервере

id  loc_id  joc_id
246 601 
247 602 
249 604 
251 606 
253 608 
254 609 
330 41  601
338 68  601
332 50  602
358 52  602
335 63  604
341 71  606
342 72  606
349 48  606
347 46  608
348 47  609

Я хочу сделать запрос на обновление, который должен установить id в joc_id, где joc_id = loc_id.
Вывод должен быть таким:

    id loc_id joc_id
    246 601 
    247 602 
    249 604 
    251 606 
    253 608 
    254 609 
    330 41  246
    338 68  246
    332 50  247
    358 52  247
    335 63  249
    341 71  251
    342 72  251
    349 48  251
    347 46  253
    348 47  254

1 Ответ

1 голос
/ 25 мая 2019

Вы можете сделать это, набрав self-join (если я правильно понял вопрос). Я предположил, что первые 6 строк имеют NULLs в joc_id.

update y1
set y1.joc_id = y2.id
from yourTable as y1
join yourTable as y2
    on y1.joc_id = y2.loc_id
where y1.joc_id is not null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...