Я хотел бы обновить несколько столбцов в таблице на основе значений из второй таблицы, используя Select
заявление, чтобы получить значение, как это:SQL Update - Несколько столбцов
UPDATE tbl1
SET (col1, col2, col3) = (SELECT colA, colB, colC
FROM tbl2
WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
Однако, это не кажется как будто возможно «установить» более одного имени столбца - существуют ли альтернативы вместо написания отдельных операторов обновления для каждого столбца?
UPDATE tbl1
SET col1 = (SELECT colA FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
UPDATE tbl1
SET col2 = (SELECT colB FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
UPDATE tbl1
SET col3 = (SELECT colC FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
обе таблицы не разделяют один и тот же идентификатор, как показано в этом вопросе, так что я могу поставить, где положение для b.id = «someid» и tbl1.id = 'differentid' –