Есть ли ошибка в запросе SQL. Он не заполняет результаты следующим SQL-запросом. - PullRequest
1 голос
/ 27 марта 2019

Я все еще получаю разделенные строки, хотя есть много случаев, когда ветви должны быть сгруппированы с единственной выходной строкой, содержащей список сообщений электронной почты.

SELECT 
    upv1.PropertyVal AS [Branch],
    STUFF((SELECT '; ' + CAST(upv2.propertyval AS VARCHAR(36))
           FROM upa.UserProfileValue upv2 
           WHERE upv1.RecordID = upv2.RecordID
             AND upv2.PropertyID = 9
           FOR XML PATH('')), 1, 2, '') [Emails]
FROM 
    upa.UserProfileValue upv1
WHERE
    upv1.PropertyID = 11
    AND upv1.PropertyVal <> 'Missing Branch'
GROUP BY
    upv1.PropertyVal, upv1.RecordID 
ORDER BY 
    upv1.PropertyVal

1 Ответ

1 голос
/ 27 марта 2019

удалить upv1.RecordID из group by предложения

SELECT 
upv1.PropertyVal as [Branch],
STUFF((select '; ' + cast(upv2.propertyval as varchar(36))
    from upa.UserProfileValue upv2 
    where upv1.RecordID = upv2.RecordID
    and upv2.PropertyID = 9
    FOR XML PATH('')), 1, 2, '') [Emails]

FROM upa.UserProfileValue upv1
    where upv1.PropertyID = 11
    and upv1.PropertyVal <> 'Missing Branch'
group by upv1.PropertyVal 
order by upv1.PropertyVal
...