Использование предложения Output с CTE выдает ошибку, не удалось связать многочастный идентификатор

#sql #sql-update #common-table-expression #output-clause

#sql #sql-обновление #common-table-expression #output-предложение

Вопрос:

Я пытаюсь использовать предложение Output с инструкцией update (используя CTE). Но я неоднократно получаю ошибку «не удалось связать многочастный идентификатор».

 ;With CTE_Duplicates as
(  SELECT
    t1.[Id] as ID1, t2.[Id] as ID2
FROM
    (
    SELECT 
      Id, Value,TypeID, DatabaseID
    FROM
       TypeValue
       where DatabaseID in (1)   
    ) T1
   JOIN
   (
    SELECT 
     Id,Value,TypeID, DatabaseID
    FROM
       TypeValue
       where DatabaseID in (2)   
    ) T2 on
    T1.Value = T2.Value AND T1.dTypeID = T2.TypeID and T2.DatabaseID in (1,2)
    )
update Scenario set Scenario .[Symbol] = CTE_Duplicates.[ID1]
    output  inserted.Symbol, deleted.Symbol, Scenario.ID
    into Log(newid,oldid, TableID)
    from  CTE_Duplicates INNER JOIN Scenario ON CTE_Duplicates.ID1=Scenario.Symbol
    where Scenario.[Symbol]= CTE_Duplicates.[ID2]
  

Ошибка: сообщение 4104, уровень 16, состояние 1, строка 25

Сценарий «Многочастный идентификатор «.Идентификатор» не может быть привязан.

Комментарии:

1. Вам разрешено ссылаться только inserted на и deleted в output предложении.

2. есть идеи, как мы можем вставить этот конкретный столбец в этот сценарий? заранее спасибо

3. . . Вы не можете. Вы должны присоединиться обратно к вставляемым данным.