1

Following is the table:

enter image description here

I am trying to get comma separated values where ColC is not Null

Output:

(Sql,My),(Dev,Prod)

I am using sql server 2012 tried COALESCE but failed. Please help.

Here the create and insert script:

create table T_MyIssue(ColA Varchar(50), ColB Varchar(50), ColC Varchar(50))

Insert Into T_MyIssue(ColA,ColB,ColC)
values('Sql','My','DB'),
('Server','MS',Null),
('Dev','Prod','Mongo')
Pranay Deep
  • 1,371
  • 4
  • 24
  • 44

1 Answers1

3

Don't know exactly what you need, but one of these should do the job

DECLARE @tbl TABLE(ColA VARCHAR(10),ColB VARCHAR(10),ColC VARCHAR(10));
INSERT INTO @tbl VALUES
 ('Sql','My','DB')
,('Server','MS',NULL)
,('Dev','Prod','Mongo')

SELECT ISNULL(ColA,'') + ',' + ISNULL(ColB,'')
FROM @tbl AS t
WHERE ColC IS NOT NULL

The result

Sql,My
Dev,Prod

Or this

SELECT STUFF(
(
    SELECT ',('+ ISNULL(ColA,'') + ',' + ISNULL(ColB,'') + ')'
    FROM @tbl AS t
    WHERE ColC IS NOT NULL
    FOR XML PATH('')
),1,1,'')

Returns

(Sql,My),(Dev,Prod)
Shnugo
  • 66,100
  • 9
  • 53
  • 114