2013-07-23 4 views
-1

связывания Я попробовал этот код:MERGE заявление дает ошибку

Merge fact_table as target 
using(select top 1 idDateDeb,PK_Date, Week_Of_Year from dbo.dim_date_Debut) 
as source 
on cast(source.PK_Date as date)=cast(dbo.FACT_TABLE.DATE_DEBUT_ALRM as date) 
when matched then update set target.ID_TEMP_DEB=source.idDateDeb; 

Но я получаю эту ошибку:

Msg 4104, Level 16, State 1, Line 4
The multi-part identifier "dbo.FACT_TABLE.DATE_DEBUT_ALRM" could not be bound.

Я пытаюсь сделать что-то вроде this question.

+1

Я предлагаю вместо ссылки на другой вопрос, который вы описываете, что вы пытаетесь сделать здесь (особенно если это * другое * от другого вопроса, иначе это должно быть закрыто как дубликат). –

ответ

1

Try:

Merge dbo.fact_table as target 
using(select top 1 idDateDeb,PK_Date, Week_Of_Year from dbo.dim_date_Debut) 
as source 
on cast(source.PK_Date as date)=cast(target.DATE_DEBUT_ALRM as date) 
when matched then update set target.ID_TEMP_DEB=source.idDateDeb; 

Вы псевдонимами (dbo.) fact_table, как target, так что синтаксический анализатор будет ожидать увидеть target, не dbo.FACT_TABLE.

+0

Я сделал этот код, но я не установил IdDateDeb на Fact_Table: s: 0 строк затронуты si Думаю, что мне нужно делать triiger, когда данные вставлены на fact_Table i getId и помещают его в id_tem_deb, но я не знаю, как это сделать – user2586714

+0

Я пробовал этот код, но O строк повлияли на проблему? Объединить FACT_TABLE в качестве мишени, используя (выберите верхний 1 idDatefin, PK_Date_fin, WEEK_OF_YEAR от dbo.dim_date_fin) в качестве источника на литом (source.PK_Date_fin как дата) = гипс (target.DATE_fin_ALaRM как дата) при сопоставлении затем набор обновления target.ID_TEMP_DEB = source.idDatefin, target.NUMEROSEMAINE = source.Week_Of_Year; heeeeelp пожалуйста; ( – user2586714

Смежные вопросы