Без дополнительных подробностей трудно дать вам твердый ответ.Но я попробую:
UPDATE SomeTable
SET MyColumn1 = wt.SomeValue
MyColumn2 = at.AnotherValue
FROM SomeTable st
CROSS JOIN (
SELECT SomeValue FROM WhereverTable
) wt
CROSS JOIN (
SELECT AnotherValue FROM AnotherTable
) at
WHERE MyColumn4 = 'condition'
Если они действительно не связаны, то CROSS JOIN - это то, что вы хотите.Но имейте в виду, что подзапросы (в данном случае wt
и at
), которые связаны друг с другом, должны содержать только 1 запись, иначе СОЕДИНЕНИЯ вызовут создание более одной записи в предложении FROM.Не уверен, что он будет делать с этим запросом, но он, вероятно, сделает набор результатов не подлежащим обновлению.
Обратите внимание, что я использую синтаксис T-SQL в SQL Server, так как это то, с чем я больше знаком,Но быстрый Google обнаружил, что DB2 поддерживает перекрестные объединения (см. здесь ).