Я хочу обновить столбец data
в tbl1, когда оба key1
и key2
перечислены в результатах другого запроса:
CREATE TABLE tbl1(
"key1" INT,
"key2" INT,
"data" VARCHAR(20)
);
UPDATE tbl1 set data="test 123"
WHERE
(key1, key2)
IN
(SELECT key1, key2 from tbl2 where user='123')
Только SELECT key1, key2 from tbl2 where user='123'
возвращает что-то вроде:
|key1|key2|
|----|----|
| 2 | 5 |
|----|----|
| 9 | 4 |
|----|----|
| 1 | 12 |
|----|----|
Таким образом, UPDATE
должен повлиять на tbl1
только те строки, где key1
и key2
перечислены в строках SELECT
.
Каков был бы правильный способ достичь этого?