Как вставить в третью таблицу с помощью оператора where сравнение таблиц a и B
То, что я пытаюсь сделать, - это иметь справочную/исходную таблицу, которую мы будем называть (C), в которую данные вставляются после того, как таблица (A) обновляется из таблицы (B)
обновить таблицу A, где таблица B. col1 = A. col1 и B. col2 = A. col2
Установите A. col3= B. col3 и A. col4 = B. col4
вставить в C (Source_ID, source_reference) , где B. col1= A. col1 и B. col2 = A. col2
затем удалите совпадающие источники из таблицы B, чтобы избавиться от дубликатов.
Что я уже пробовал:
Я пытался использовать оператор match and merge, однако я не могу использовать оператор match merge для передачи в исходную таблицу для ссылок позже.
0x01AA
Откуда вы узнали этот мусорный оператор обновления SQL, подобный этому (обратите внимание на ??):
обновить таблицу A, где таблица B. col1 = A. col1 и B. col2 = A. col2
Набор
А. столбца col1= col1 и Б.
?? и A. col2 = B. col2 ??
Member 11856456
Извините, но после вашего вопроса я понял, что продублировал столбцы. Я обновил вопрос.
0x01AA
Не нужно извиняться. Во всяком случае, я не вижу большой разницы. С моей точки зрения вам нужно сначала исправить инструкцию update:update table A
Set A.col3= B.col3,
A.col4 = B.col4
where table B.col1 = A.col1 and B.col2 = A.col2
0x01AA
Ваш вопрос (по крайней мере, для меня) очень неясен. Кроме того, ваш оператор insert синтаксически неверен; он совершенно не связан с предыдущим обновлением...
Santosh kumar Pithani
почему вы используете одни и те же столбцы "B. col1 = A. col1 и B. col2 = A. col2" для условий, а также набора обновлений?
Member 11856456
Я привел пример того, чего я пытаюсь достичь. Я пытаюсь сделать заявление о совпадении, не используя совпадение и слияние. Я пытаюсь добиться этого, потому что матч и слияние не будут вставляться в третью таблицу, которая мне нужна. Что касается столбцов, то я хочу найти эквивалентности между таблицами а и В, а информацию, которая не заполнена, я хочу обновить из таблицы В.
RedDk
Серьезно, улучшаю ваш вопрос ... это то, что мы должны сделать в этом случае. Итак, поехали. Забудь об этой идее ... У меня к тебе вопрос. Почему бы вам не показать свой запрос TSQL вместе с некоторым кодом CREATE TABLE, чтобы мы могли бросить туда некоторые данные, чтобы спелить код ошибки, который вы видите при запуске неисправного кода. О, подожди ... Забудь об этой идее. Просто дайте нам ваш код, мы введем некоторые данные в таблицу и ... что такое код ошибки? Именно так.