Привет, Я использую следующий запрос для отображения списка проблем, разделенных запятыми.возврат каретки в sql-сервере 2012
SELECT tt.VrNo, STUFF((select ','+ Er1.ErrorDesc
from (select * from CallRegErrors)as Main
left join ErrorMaster ER1 on Main.ErrorCode=ER1.ErrorCode
WHERE (main.VrNo = tt.VrNo)
FOR XML PATH('')) ,1,1,'') AS Problemlist
запрос дает выход как а, Ь, с, d и т.д.
Но мое фактическое требование, я хочу, чтобы отобразить каждое описание ошибки в новой строке, как,
б
с
д
и т.д.
Я попробовал следующий запрос для него:
SELECT tt.VrNo, STUFF((select char(13)+char(10)+ Er1.ErrorDesc
from (select * from CallRegErrors)as Main
left join ErrorMaster ER1 on Main.ErrorCode=ER1.ErrorCode
WHERE (main.VrNo = tt.VrNo)
FOR XML PATH('')) ,1,1,'') AS Problemlist
, а также я использовал
ВЫБРАТЬ tt.VrNo, Replace (STUFF ((выберите '' + Er1.ErrorDesc, как [текст()] из (выберите * из CallRegErrors) в Main налево присоединиться к ErrorMaster ER1 на Main.ErrorCode = ER1.ErrorCode WHERE (main.VrNo = tt.VrNo) FOR XML PATH ('')), 1,1, ''), ',', char (13) + char (10)) AS Problemlist from (выберите main.VrNo, Er1.ErrorDesc из (выберите * из CallRegErrors) в качестве основного левого соединения ErrorMaster ER1 на Main.ErrorCode = ER1.ErrorCode) как tt группой по tt.VrNo , но теперь получите список проблем, разделенных пробелами вместо запятых, после использования вышеуказанного запроса
но его не дает выход, который я хочу.
пожалуйста, помогите ..
Заранее спасибо
Можете выложить на "Не работает"? – bendataclear
SSMS не покажет ваши возвраты каретки ... – gvee
Хм .. если вам нужны они в отдельных строках, зачем их конкатенировать? Почему бы вам просто не выбрать напрямую? –