4
Answers

Select query result into one row

Photo of lejo

lejo

1y
540
1

Query

SELECT    Emp_FullName from Employees

My Select query reqult will be below

   
 

i want go get the result will be like given below as comma separated (Employee Name)

  Ahmed Badr Fathel Saleh  , Mohammed  Saleh Alawi Al Rashidi

Answers (4)

4
Photo of Rohini Parade
527 2.4k 34.7k 1y

For SQL Server 2017 & Up version Use:

SELECT Stuff(
    (
    SELECT ', ' + CARS.CarName
    FROM CARS
    FOR XML PATH('')
    ), 1, 2, '') AS CarNames

 

For SQL Server 2016 & below :

SELECT LEFT(Car, LEN(Car) - 1)
FROM (
    SELECT Car + ', '
    FROM Cars
    FOR XML PATH ('')
  ) c (Car)
  

3
Photo of Abhishek  Yadav
107 17.2k 350.7k 1y

my friend it is not technically posible you need to irrate and mody the values using loops here is a C# example

for (int i = 0; i < row.Length; i++)
        {
            rowString += row[i].ToString();

            if (i < row.Length - 1)
            {
                rowString += ",";
            }
        }
2
Photo of Jaimin Shethiya
48 30.6k 602.1k 1y

Hello Lejo,

Please refer the below script and change the table name and field name as you want.

DECLARE @Emp TABLE (EmpFullName NVARCHAR(100))

INSERT INTO @Emp
VALUES ('Jaimin Shethiya'), ('Lejo')

SELECT STRING_AGG(EmpFullName, ', ') AS EmpName
FROM @Emp;


SELECT STUFF(
    (
        SELECT  ', ' + EmpFullName
        FROM @Emp
        FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)'), 
    1, 2, '') AS EmpName;

Thanks

2
Photo of Jayraj Chhaya
307 6k 96.3k 1y

Hi,

You can use the STRING_AGG function in SQL.

SELECT STRING_AGG(Emp_FullName, ', ') AS FormattedEmployeeNames
FROM Employees;

Or you can use below code

SELECT STUFF(
    (
        SELECT  ', ' + Emp_FullName
        FROM Employees
        FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)'), 
    1, 2, '') AS FormattedEmployeeNames;