Я пытаюсь объединить некоторые данные в строку и у меня возникла проблема. Эти данные будут использованы для слияния.
После того, как я объединю свои данные в один столбец и затем скопирую их в электронное письмо по почте, результат будет выглядеть как
Owner: Me, Pet: Dog, Other Pet: Cat, Pet2: Dog2, OtherPet2: Cat2
Owner: Me, Pet: Dog, Other Pet: Cat, Pet2: Dog2, OtherPet2: Cat2
Owner: Me, Pet: Dog, Other Pet: Cat, Pet2: Dog2, OtherPet2: Cat2
Owner: Me, Pet: Dog, Other Pet: Cat, Pet2: Dog2, OtherPet2: Cat2
Я хочу, чтобы каждая строка имела одинаковый отступ, но в настоящее время я не могу добиться этого, пытаясь сделать несколько вещей.
Мой воспроизводимый код здесь:
DROP TABLE #Temp1
DROP TABLE #temp2
CREATE TABLE #Temp1 (Owner varchar(10), val1 varchar(10), val2 varchar(10), val3 varchar(10), val4 varchar(10))
INSERT INTO #Temp1 values('Me','Dog','Cat', 'Dog2', 'Cat2')
INSERT INTO #Temp1 values('You','Dog','Cat', 'Dog2', 'Cat2')
INSERT INTO #Temp1 values('He','Dog','Cat', 'Dog2', 'Cat2')
INSERT INTO #Temp1 values('She','Dog','Cat', 'Dog2', 'Cat2')
INSERT INTO #Temp1 values('Me','Dog','Cat', 'Dog2', 'Cat2')
INSERT INTO #Temp1 values('Me','Dog','Cat', 'Dog2', 'Cat2')
INSERT INTO #Temp1 values('Me','Dog','Cat', 'Dog2', 'Cat2')
SELECT Owner,
Pets =
cast(STUFF
(
(
SELECT (' '+ 'Owner: ' + Owner + ', Pet: ' + val1 + ', Other Pet: ' + val2 + ', Pet2: ' + cast(val3 as varchar)+ ', OtherPet2: ' + RTRIM(val4) + char(13))
FROM #Temp1 as b
WHERE b.Owner=a.Owner
FOR XML PATH(''),TYPE
).value('.', 'varchar(1000)'), 1, 1, '') as text)
INTO #Temp2
FROM #Temp1 as a
GROUP BY Owner
Order by Owner
SELECT * FROM #Temp2
2-я строка для владельца "Я" будет записью, которую можно скопировать и вставить для устранения проблем с отступом. Что мне нужно добавить, чтобы убрать лишнее пространство, добавленное в начале моего конкатата строки?
Спасибо