0
저장 프로 시저를 쓰고 있습니다. 내가 사용하고있는 쿼리는 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;
저장 프로 시저를 만들 때 이렇게하는 방법이 있습니까? 또는이 작업을 수행하기 위해 쿼리를 변경할 수있는 방법이 있습니까?
내가 원하는 것은 합체 된 열에서 중복을 제거하는 것입니다. 그러나 쿼리는 예상대로 수행됩니다.
감사합니다. 나는 그것이 의미가 있기를 바랍니다.
감사 @Adrian, 나는 그것을 감사드립니다. – broguyman