Мне нужно вставить недублированные значения ... Это "объединение с собственной ссылкой" не работает должным образом, но не сгенерировало сообщение об ошибке ... Могу ли я использовать аналогичную вещь?
MERGE INTO mydb.mytab AS Tref
USING mydb.mytab AS T ON Tref.id=T.id
WHEN NOT MATCHED THEN INSERT VALUES (123, 'etc');
(обновить, но не изменить вопрос) Похоже, что другая конструкция, как предлагается здесь ,
INTO INTO mydb.mytab
SELECT t1.*
FROM ( select stack(2, 123,'ect1', 20,'etc2') as (id,etc) ) t1
LEFT OUTER JOIN mydb.mytab t2 ON t1.id = t2.id
WHERE t1.id is null
;
это не элегантно (тамдругие?) но это работает (!).Есть ли альтернатива с MERGE?