0
私はストアドプロシージャを書いています。私が使用しているクエリは、2つの列を除いてすべての方法で同一の行をとり、それらを1つの行に結合し、2つの行を1つに統合します。今私は別の問題に取り組んでいます。これらの2つの行に重複した値があり、その重複を排除したいことがあります。ストアドプロシージャのCOALESCED列から重複を削除しますか?
例:
TeamID Team City State Equipment
1 Thunder OKC OK Basketball, Basketball, Basketball, Shorts, Jersey, Jersey
私はそれはこのようになりたい:ここ
TeamID Team City State Equipment
1 Thunder OKC OK Basketball, Shorts, Jersey
は、私はそれが行を組み合わせ使用しているクエリです。
SELECT DISTINCT
AssignedOfficeID, AssignedOffice, OperatorID, OperatorName, RigMasterID, DrillerRigNumber, WellID,
County, State, WellName, CompanyMan, CompanyManPhone, DateStart, DateStop, Representative, RepresentativeID, RepresentativeAssignedID, RepresentativeAssigned,
PricePerDay, CotNumber, CustomerOrderTicketNumber,
Equipment = STUFF((SELECT ', ' + COALESCE(RentalEquipmentAbbreviation, EquipmentAbbreviation, '')
FROM @ActiveRigsInfo AS ARI2
WHERE ARI2.AssignedOfficeID = ARI1.AssignedOfficeID AND ARI2.AssignedOfficeID = ARI1.AssignedOfficeID
AND ARI2.OperatorID = ARI1.OperatorID AND ARI2.OperatorName = ARI1.OperatorName
AND ARI2.RigMasterID = ARI1.RigMasterID AND ARI2.DrillerRigNumber = ARI1.DrillerRigNumber
AND ARI2.WellID = ARI1.WellID AND ARI2.County = ARI1.County AND ARI2.State = ARI1.State
AND ARI2.WellName = ARI1.WellName AND ARI2.CompanyMan = ARI2.CompanyMan AND ARI2.CompanyManPhone = ARI1.CompanyManPhone
AND ARI2.DateStart = ARI1.DateStart AND ARI2.Representative = ARI1.Representative
AND ARI2.CotNumber = ARI1.CotNumber
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'),1,2,'')
FROM @ActiveRigsInfo AS ARI1
ORDER BY AssignedOffice, OperatorID, RigMasterID;
ストアドプロシージャの作成時にこれを行う方法はありますか?または、これを行うために私のクエリを変更する方法がありますか?
私がしたいのは、合体した列から重複を取り除くことです。クエリは、それ以外の場合は期待通りに機能します。
ありがとうございました。私はそれが理にかなったことを願うあなたのサブクエリでDISTINCT
が必要
おかげ@Adrian、私はそれを感謝しています。 – broguyman