При попытке объединить две таблицы, когда строки не совпадают, как вставлять строки на основе заказа. Например, в таблице_2 у меня есть столбец «Тип» (значения образца 1,2,3 и т. Д.), Поэтому, когда я делаю вставку для непревзойденных кодов, мне нужно вставить записи с типом как 1 сначала, затем 2 и т.д.Как слить две таблицы, используя порядок?
до сих пор я пытался ниже код
WITH tab1 AS
(
select * From TABLE_2 order by Type
)
merge tab1 as Source using TABLE_1 as Target on Target.Code=Source.Code
when matched then update set Target.Description=Source.Description
when not matched then insert (Code,Description,Type)
values (Source.Code,Source.Description,Source.Type);
Но я получаю «Поручения пункта недействительна в представлениях, встроенных функциях, производных таблиц, подзапросов и общих табличных выражений, если TOP или FOR XML не указан также.» ошибка из-за использования порядка в подзапросе.
Итак, как мне вставлять записи по заказу при слиянии двух таблиц?
Заранее спасибо.
Пожалуйста, помечать вопрос с базой данных, которую вы используете (которые я предполагаю является SQL Server). –