Я пишу хранимую процедуру. Запрос, который я использую, берет строки, которые идентичны во всех отношениях, кроме двух столбцов, объединяет их в одну строку и объединяет две строки в одну. Теперь я сталкиваюсь с другой проблемой. Иногда в этих двух строках есть повторяющиеся значения, и я хочу устранить их.
Пример:
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;
Есть ли способ сделать это при создании хранимой процедуры? Или есть способ, которым я могу изменить свой запрос, чтобы сделать это?
Все, что я хочу сделать, это вынуть дубликаты из объединенных столбцов. Запрос выполняется, как и ожидалось, за исключением этого.
Спасибо. Я надеюсь, что в этом есть смысл.