Я пытаюсь сделать почти то же самое, что и эти вопросы:
Как объединить текст из нескольких строк в одну текстовую строку на сервере SQL?
Имитация функции MySQL group_concat в Microsoft SQL Server 2005?
Я считаю, что я работаю в SQL Server 2005.
Но мне нужно либо, A.)Сделайте это с несколькими таблицами, выделив около 12 столбцов и используя примерно 8 внутренних объединений
или
B.) Сделайте это с запросом, который уже существует с несколькими таблицами (используя примерно 8 внутренних объединений)
Вот текущий запрос:
SELECT Claim.ClaimID, ClaimStatus.ClaimStatus, Claim.Claimant, Claim.ClaimNumber, ClaimType.ClaimType, Facility.FacilityName, StateOrProvince.State,
MedicalPractitioner.FullName, Claim.ClaimOccurrenceDate, Patient.Allegation, Injury.InjuryDescription AS Injury, GetClaimTotals_vw.[Reserve Total],
ISNULL(GetClaimTotals_vw.[Expense Total], '$0') AS [Paid Total]
FROM StateOrProvince INNER JOIN
MedicalPractitioner INNER JOIN
Injury INNER JOIN
Patient ON Injury.InjuryID = Patient.Injury INNER JOIN
ClaimStatus INNER JOIN
ClaimType INNER JOIN
Facility INNER JOIN
Claim ON Facility.FacilityID = Claim.Facility INNER JOIN
GetClaimTotals_vw ON Claim.ClaimID = GetClaimTotals_vw.ClaimID ON ClaimType.ClaimTypeID = Claim.ClaimType ON ClaimStatus.ClaimStatusID = Claim.ClaimStatus ON
Patient.PatientID = Claim.Patient AND Claim.ClaimID = Patient.ClaimNumber INNER JOIN
ClaimInsureds ON Claim.ClaimID = ClaimInsureds.ClaimNumber ON MedicalPractitioner.PractitionerID = ClaimInsureds.MedicalPractitioner ON
StateOrProvince.StateOrProvinceID = Facility.StateProvince
ORDER BY ClaimStatus.ClaimStatus
Запрос, который я пробовал, но он просто помещает каждое имя для каждого случая / утверждения и по-прежнему повторяет случаи / утверждения
SELECT ClaimNumber, Stuff(
(SELECT N', ' + FullName FROM QueryName_1 FOR XML PATH(''),TYPE)
.value('text()[1]','nvarchar(max)'),1,2,N'')
FROM QueryName_1
Результат:
Claim# | Status | MP(s)
A1002. Open. Alex Amond, John Doe, Richard Cool, Jane Smith
A1002. Open. Alex Amond, John Doe, Richard Cool, Jane Smith
A1006. Pending. Alex Amond, John Doe, Richard Cool, Jane Smith
A1008. Closed. Alex Amond, John Doe, Richard Cool, Jane Smith
Etc.
Результат похож на 100-200 строк данных.
В частности, мне нужно Concat в среднем два имени, связанных идентификатором в другой таблице.
Вот пример (я буду использовать Дело № и Адвокаты) снимокt из того, что в данный момент выводится с текущим запросом:
Claim# | Status | MP(s) | Etc. | |....|
A1002. Open. John Doe
A1002. Open. Alex Almond
A1006. Pending. Richard Cool
A1008. Closed. Jane Smith
Etc.
Что мне нужно:
Claim# | Status | MP(s). | Etc. |. | ... |
A1002. Open. John Doe, Alex Almond
A1006. Pending. Richard Cool
A1008. Closed. Jane Smith
Etc.
Спасибо.