我一直試圖在SQL Server中一起使用連接字段作爲我的唯一標識符連接三個表,但我注意到它已經返回了重複的記錄。如何處理SQL Server連接中的重複記錄?
- 表A具有25'003記錄
- 表B具有29'387記錄
- 表C具有22'938記錄
目標是加入B和C到A.
結果共有48'732條記錄。
這裏是我的查詢的一個片段:
Select
a.xxxx, a.yyyy, b.sdsd, c.dffgg
From
[table A] a
Left Join
[table B] b on a.pkey = b.pkey
Left Join
[table C] c on a.pkey = c.pkey.
表A:
PeriodRef OfficeCode OfficeDesc TaskServLineCode TaskServLineDesc ServLineDiv PartnerCode PartnerName ManagerCode ManagerName BillerCode BillerName ClientCode ClientName BusCatCode BusCatDesc GroupCode GroupDesc TaskCode TaskDesc TaskDateOpen TaskDateTerminate InvNumber InvDate LTDInv LTDFee LTDVat LTDCn LTDRec LTDPLFC YTDInv YTDFee YTDVat YTDCn YTDRec YTDPLFC PTDInv PTDFee PTDVat PTDCn PTDRec PTDPLFC CBal BalCurr Bal30 Bal60 Bal90 Bal120 Bal150 Bal180 CM Provision PM Provision CM Provision movement Start CY Provision YTD Provision movement
201710 1 LAGOS A100 e a AAA xcv rg vgg AOA iyh erd2 tggtt yue jd kdk weeer INV Invoice NULL NULL 5yj 00:00.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
201710 1 LAGOS A100 e a AAA cbvc rfgt ghh ZZZZZ ssf 34ef etg assw kjkl kdk jdkjf INV Invoice NULL NULL 6uuj 00:00.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
201710 1 LAGOS A100 e a AAA zcvv ffbb ddg EOK adf 23df sss asd ieel kdk dghjg;js CT07 sff 00:00.0 00:00.0 56 00:00.0 0 4837500 237500 0 5075000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
表B和C具有相同的架構。他們唯一的區別就是這個時期。
PS:這些表沒有唯一的標識符,這就是爲什麼我連接了一些列以獲取標識符的原因。謝謝大家。
pkey不是唯一的...... – Backs
如果您包含模式和樣本數據以測試 –
,它將有所幫助關於我們可以告訴您的是,表b和/或c中顯然存在多行加入標準。 –