Вы могли бы сделать это два утверждения, как это.
Первая вставка в other
при somevalue is null
INSERT INTO othertable
SELECT 1,
2,
3
FROM bigtable
WHERE somevalue IS NULL;
Затем объединение влево для обеих таблиц на Somevalue
составляет null
или not null
SELECT Coalesce(othertable.newlyinsertedvalue, weirdtable.someothervalue) foo,
column1,
column2
FROM bigtable
LEFT OUTER JOIN othertable
ON somevalue IS NULL
LEFT OUTER JOIN weirdtable
ON somevalue IS NOT NULL
Полагаю, вам действительно нужно изменить соединения, чтобы они были похожи на
LEFT OUTER JOIN othertable
ON somevalue IS NULL
and bigtable.id = othertable.id
LEFT OUTER JOIN weirdtable
ON somevalue IS NOT NULL
and bigtable.id = weirdtable .id
Примечание: я не уверен, что эквивалент DB2 Coalesce