Я использую SQL Server 2017 и пытаюсь создать запрос, который объединяет языки и уровни владения в одну строку для каждого сотрудника. Например, таблица, в которой хранится информация в моей базе данных SQL:
И конечный результат, которого я хотел бы достичь, таков:
Используя функцию Stuff и путь xml, мне удалось создать запрос выбора, который показывает это:
Но я не могу найти способ вставить строку разрыва. Запрос будет использоваться в качестве источника данных для AspxGridview.
Любая помощь?
Заранее спасибо!
Мой запрос до сих пор:
select distinct
p.PersonID,
STUFF
( (SELECT char(10) + l.Language+' ('+ (case cvnl.Proficiency when 1 then 'Good'
when 2 then 'Very Good'
when 3 then 'Excellent'
end )
+') ' FROM CV_NewLanguages cvnl
inner join Languages l on l.LanguageID = cvnl.LanguageID
WHERE cvnl.PersonID = p.PersonID
ORDER BY l.Language ASC FOR XML PATH('')), 1, 1, '') AS Languages
from CV_Certifications cv
inner join person p on cv.PersonID=p.PersonID
inner join CV_NewLanguages cvnl on cvnl.PersonID=p.PersonID
inner join Languages l on l.LanguageID=cvnl.LanguageID
where active=1
group by
p.PersonID,
cvnl.Proficiency,
l.Language
order by p.PersonID
Результат такой: введите здесь описание изображения