トランザクションテーブルを持つ約4MM行のアカウントマスタテーブルに参加しています。私の問題は、私がアカウントテーブルのアカウント番号をトランザクションテーブル=アカウント番号から左のジョインをすると、私は私たちのデータの異常を発見しているということです。同じ口座番号の口座マスタに3つの異なるエントリを持つことができます。これらはアカウントの特性に関連しています。異常は、住所情報が同じである場合があるが、場合によっては、市のスペルが違うことを見ていることである。 2つのテーブルを結合すると、私はアカウントマスタのアカウント番号の最初のインスタンスのみが必要になります。私はrow_number()を使用していくつかの記事を見てきましたが、私はここでそれを正しく使用することに迷っています。これは私が使用しているが、各口座番号の3つのレコードを取得しています。右テーブルトップ1の値で左結合
select am.[Customer_Name], am.[svc_city], sr.measure
from [dbo].[PP_SUMMARY_RESIDENTIAL] sr
left join [CIS].[dbo].[Account_Master] am on
(case when (left(sr.fred_account_number,2) = '00') then (right(sr.fred_account_number,len(sr.fred_account_number - 2)))
when (left(sr.fred_account_number,1) = '0') then (right(sr.fred_account_number,len(sr.fred_account_number - 1)))
else sr.fred_account_number
end)
= (select am.accountnumber, row_number() over (order by am.accountnumber) as row) where row = 1
and sr.fred_account_number = '123456789'
ここから始めましょう。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –