-1

Я пытался понять это сейчас немного, и я продолжаю работать в тупиках. Может быть, кто-то здесь может мне помочь. Я работаю в компании, и мы собираемся получить файл для единиц, которые мы будем ремонтировать. В некоторых случаях мы получаем одно требование на ремонт, в котором содержится несколько единиц. У меня есть только одно поле для импорта серийного номера, и мне нужно объединить, как много строк для конкретного утверждения.Попытка объединить несколько строк из таблицы в одну строку

Например, файл я хотел бы получить будет выглядеть так:

ClaimNumber  SerialNumber 
555    12345 
555    123456 
555    1234567 
556    4321 
557    3421 
558    9876 
558    98765 

Поэтому мне нужно экспортировать эту таблицу комбинирования серийных номеров в одно поле, как:

ClaimNumner  SerialNumber 
555    12345, 123456, 1234567 
556    4321 
557    3421 
558    9876, 98765 

я ограничен в получении файл в этом формате, так что это все, с чем мне нужно работать. В файле есть другие поля, но я думаю, что это те, на которые я должен смотреть. дайте мне знать, есть ли у кого-нибудь идеи. Благодаря!!

+0

возможно дубликат [Как использовать GROUP BY для объединения строк в SQL Server?] (HTTP: //stackoverflow.com/questions/273238/how-to-use-group-by-to-concatenate-strings-in-sql-server) – Taryn

+0

Каков реальный разделитель между столбцами в файле? Это запятая, вкладка, 8 пробелов, могу ли я сделать какие-либо другие догадки? –

+0

Файл, который я получаю от них, разделен запятыми – user2867287

ответ

1

Учитывая, что ваша таблица с именем претензии, то я думаю, что это должен сделать это, (не тестировалось)

Select Main.ClaimNumber, 
    Left(Main.Serials,Len(Main.Serials)-1) As "Serials" From(Select distinct T2.ClaimNumber, 
     (Select T1.SerialNumber + ',' AS [text()] 
     From Claim T1 
     Where T1.ClaimNumber = T2.ClaimNumber 
     ORDER BY T1.ClaimNumber 
     For XML PATH ('')) [Serials] 
From Claim T2) [Main] 
Смежные вопросы