sql中合并列方法


方法一:创建合并列函数

 

-------创建一个方法----------

CREATE FUNCTION dbo.Role_Name(@AdminID int)
return varchar(8000)
AS
BEGIN
    DECLARE @r varchar(8000)
    SET @r = ''
    SELECT @r = @r + '/' +Role
    FROM (select a.AdminID,d.Role from r b inner join PA a on a.RenShiID=b.id 
          inner join Role c on a.AdminID=c.adminID inner join  role d on d.ID=c.RoleID )t
    WHERE AdminID=@AdminID
    RETURN STUFF(@r, 1, 1, '')
END

--调用合并列函数--- 

dbo.Role_Name(1) 


--删除合并列函数--
drop function dbo.Role_Name

方法二:xml path()方法在05之后可用

select id,stuff((select '-' + convert(varchar(4),value)from tb where id=A.id order by id for xml path('')),1,1,'') 
as values
from tb A
group by id

 

 

select top 10 a.ID,a.customerName,a.guideType 
,(stuff((select ',' + guideLine from Line where CHARINDEX(cast(id as varchar),a.guideType)>0 for xml path('')),1,1,''))
from callIn as a order by ID desc

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM