SQL-将多行合并为一列

SQL-将多行合并为一列,sql,tsql,Sql,Tsql,我想从下面的查询中获取数据输出,并将所有电子邮件地址连接在一起,以分号分隔,并按员工姓名分组 SELECT DISTINCT p.email , e.name FROM PERSON p INNER JOIN EMPLOYEE e ON p.agentofrecord_id = e.employee_id WHERE dbo.GetPersonMember(p.person_id) = 1 AND (p.isactive

我想从下面的查询中获取数据输出,并将所有电子邮件地址连接在一起,以分号分隔,并按员工姓名分组

SELECT
    DISTINCT
    p.email
    , e.name 
FROM
    PERSON p
INNER JOIN 
    EMPLOYEE e
ON 
    p.agentofrecord_id = e.employee_id 
WHERE 
    dbo.GetPersonMember(p.person_id) = 1
    AND (p.isactive = 1)
    AND p.email <> ''
ORDER BY name

基本上,看起来您希望在TSQL中使用MySql的GROUP_CONCAT聚合函数。如果是这样的话,我可以帮忙看看

请看,您正在询问如何违反1NF,哪种SQL不是真正设计用来实现的,例如,SQL标准缺少“连接”集合函数@onedaywhen-这是以按员工分组的可用格式获取电子邮件地址。。。没有别的了。。。如果我不在这里做,它会是代码或excel。。。只是想找一些简单的东西来节省时间。