Стрелка (->) не отображается в SQL Server SELECT при использовании в качестве пути XML - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь получить все пути маршрута, разделенные стрелкой (-->). Но стрелка (-->) не работает, она отображается как -->.

SELECT 
    vrmd.LocationName + '--> ' 
FROM 
    dbo.tbl_VehicleRouteMapDetail vrmd  
WHERE 
    vrmd.VrmapId = 1
ORDER BY 
    vrmd.VrmapId
FOR XML PATH('')

Но он отлично работает следующим образом:

DECLARE @Route VARCHAR(MAX)= '' 

SELECT @Route = @Route + vrmd.LocationName + '--> '
FROM dbo.tbl_VehicleRouteMapMaster vrmm
INNER JOIN dbo.tbl_VehicleRouteMapDetail vrmd ON vrmd.VrmapId = vrmm.VrmapId
ORDER BY vrmd.VrmapDetailId ASC

Почему выбирают первый запрос?

Мне нужно использовать этот запрос как подзапрос. В этом случае у меня не работает второй запрос:

SELECT 
    COUNT(ewva.VehicleId) Allocation, vii.Capacity,
    STUFF((SELECT vrmd.LocationName + '=> ' 
           FROM dbo.tbl_VehicleRouteMapDetail vrmd  
           WHERE vrmd.VrmapId = vrmm.VrmapId
           ORDER BY vrmd.VrmapId
           FOR XML PATH('')), 1, 1, '') AS name_csv 
FROM  
    dbo.tbl_VehicleInfoInternal vii
INNER JOIN 
    dbo.tbl_EmpWiseVehicleAllocation ewva ON ewva.VehicleId = vii.VehicleId
INNER JOIN 
    dbo.tbl_VehicleRouteMapMaster vrmm ON vrmm.VehicleId = vii.VehicleId
GROUP BY 
    ewva.VehicleId, vii.Capacity, vrmm.VrmapId

Любая помощь будет оценена.

...