SQL newb ie вопрос - попытка установить значение, при котором два столбца совпадают, а другой столбец имеет другое значение - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь установить значение столбца «VALUE», где «ID» равен 2, а «USERID» соответствует другой строке в той же таблице, где «ID» равен 1, а VALUE, скажем, "Лондон" в примере ...

Итак:

ID | USERID | VALUE

1  | 1      | London
1  | 2      | Madrid
1  | 3      | London
1  | 4      | Paris
2  | 1      | null
2  | 2      | null
2  | 3      | null
2  | 4      | null

Становится

ID | USERID | VALUE

1  | 1      | London
1  | 2      | Madrid
1  | 3      | London
1  | 4      | Paris
2  | 1      | on
2  | 2      | null
2  | 3      | on
2  | 4      | null

Возможно ли это?

Если кто-то может помогу буду очень признателен! Спасибо.

1 Ответ

1 голос
/ 14 апреля 2020

В MySQL, вы можете использовать join в update:

update t join
       t t2
       on t2.userid = t.userid and t2.value = 'London'
    set value = 'on'
    where t.id = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...