Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts

Friday, 12 December 2014

SQL - How to capture multiple identities from INSERT INTO SELECT

-- Example Source table
CREATE TABLE #SourceTable ( Contact CHAR(30) );

INSERT #SourceTable VALUES ( 'User1' )
INSERT #SourceTable VALUES ( 'User2' )
INSERT #SourceTable VALUES ( 'User3' )

-- Example Dest table
CREATE TABLE #ImportedUsers ( Id       INT IDENTITY(1, 1) NOT NULL
,                             UserName CHAR(30) );

-- Imported users + new ID table
DECLARE @IDs TABLE ( Id       INT
,                    UserName CHAR(30) )

INSERT #ImportedUsers
 OUTPUT inserted.Id
 ,      inserted.UserName
 INTO @IDs ( Id
 ,           UserName )
SELECT DISTINCT Contact
FROM #SourceTable

SELECT *
FROM @IDs

Tuesday, 15 October 2013

SQL Server - How convert SQL rows to Comma Separated String (CSV)

declare @T table (GroupID int, Value varchar(10))

insert into @T values (1, 'Row 1')
insert into @T values (1, 'Row 2')
insert into @T values (2, 'Row 3')
insert into @T values (2, 'Row 4')
insert into @T values (2, 'Row 5')

select GroupID,
  stuff(
  (select ','+Value as '*'
   from @T as T2
   where T2.GroupID = T1.GroupID
   for xml path('')), 1, 1, '') as [Values]
from @T as T1
group by GroupID

go