Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
286 views
in Technique[技术] by (71.8m points)

sql server - Using COALESCE function to make values separated with commas

I have a table (EMP) I know that using the COALESCE function we can get the values of any column in this way

23,23,45,34

SELECT OfferID  FROM Emp where EmpID= 23

but I am not getting the syntax to achieve this

Any help would be great, to resolve this issue.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Description

I have done this using COALESCE in the past too, but i suggest another approach because you dont need a variable. Use the T-SQL function STUFF to get this done.

Sample

SELECT STUFF((
    select ','+ cast(OfferID as nvarchar(255)) 
    from Emp b
    WHERE a.EmpID= b.EmpID
    FOR XML PATH('')
    ),1,1,'') AS COLUMN2
FROM Emp a
GROUP BY a.EmpID

More Information

STUFF (Transact-SQL)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...