Bonjour,
SVP,pourriez vous me dire la solution la plus adaptée.
Je dois comparer les champs de deux tablesvet à chaque fois,ils ne sont pas egaux,je remplis une autre table que je dois créer aussi
voici la table à créer :
[
if not exists (select * from sysobjects where name='DELTA_ACCESS_details' and xtype='U')
create table DELTA_ACCESS_detail (
ID_DELTA_detail_PK int identity primary key,
SOURCE_NAME_FK [VARCHAR] (5) NULL,
DWH_TECHNICAL_ID [bigint] NULL,
FUNCTIONAL_ID [NVARCHAR] (255) NULL,
FILE_SOURCE_ID [nvarchar](255) NULL,
COLUMN_NAME_SOURCE [char] (255) null,
COLUMN_NAME_DESTINATION [varchar] (255) null,
COLUMN_NAME_SOURCE_VALUE [varchar] (255) null,
COLUMN_NAME_DESTINATION_VALUE [char] (255) null,
BUILD [NVARCHAR](10) null ,
DATE datetime null);
truncate table DELTA_ACCESS_Detail;
]
et voici la requete qui compare les champs :
[
select *
from WISE2_ODS.Extraction.IBO_1027_Access a,WISE2_DWH.DBO.dt_Access d
where d.ACC_source_id=a.source_id
and d.acc_source_name_fk=a.source_name_fk
and ( a.Name !=d.ACC_NAME
or a.Technical_Reference!=d.ACC_TECH_REF
or a.Webex_Password!=d.ACC_WEB_PASSWORD
or a.Platform_reference!=d.ACC_BRIDGE_REF
or d.ACC_BILL_REF!=NULL
or a.Moderator_PIN!=d.ACC_MODERATOR_PIN
or a.Participant_PIN!=d.ACC_MODERATOR_PIN
or a.Creation_Date!=d.ACC_CREA_DATE_DAT
or a.Source_ID!=d.ACC_SOURCE_ID
or a.Webex_Password!=d.ACC_WEB_PASSWORD
or year(a.Creation_Date)!=d.ACC_YEAR_CREA_DATE
or month(a.Creation_Date)!=d.ACC_MONTH_CREA_DATE
or datepart(iso_week,a.Creation_Date)!=d.ACC_WEEK_CREA_DATE
or month((a.Creation_Date))!=month(d.ACC_YEAR_MONTH_CREATION)
or year((a.Creation_Date))!=year(d.ACC_YEAR_MONTH_CREATION)
or a.Creation_Date!=d.ACC_REAL_CREATION_DATE
or a.Category!=d.ACC_TYPE
or a.Extended_Technical_Reference!=d.ACC_TECH_REF_EXTENDED
or a.Billing_Code!=d.ACC_BILLING_CODE
or a.Is_Trial_Flag!=d.ACC_IS_TRIAL
or a.ExternalRef!=d.ACC_EXT_REF);
]
Je vous serai reconnaissant si vous me faîtes de suggestions rapides
Bonne journée
Partager