it is my miss , how about this.
set nocount on
CREATE TABLE #Test
(ID int NOT NULL IDENTITY(1,1) Primary key,
TranID int NOT NULL,
OriginCode varchar(5) NOT NULL,
DestinationCode varchar(5) NOT NULL
)
GO
CREATE TABLE #Test2
(TranID int NOT NULL,
Code varchar(100) NOT NULL,
)
go
INSERT INTO #Test
SELECT 201205 ,'AMD','DOH'
UNION ALL
SELECT 201205 ,'DOH','NBO'
UNION ALL
SELECT 201205 ,'NBO','ADD'
UNION ALL
SELECT 201205 ,'ADD','DEL'
UNION ALL
SELECT 201205 ,'DEL','AMD'
UNION ALL
SELECT 201206 ,'IXJ','RMI'
GO
DECLARE @Tran_id int, @Tran_name nvarchar(50)
DECLARE test_cursor CURSOR FOR
SELECT TranID, OriginCode + DestinationCode FROM #Test
OPEN test_cursor
FETCH NEXT FROM test_cursor
INTO @Tran_id, @Tran_name
WHILE @@FETCH_STATUS = 0
BEGIN
if exists ( select 'x' from #Test2 where TranID = @Tran_id)
Begin
update #Test2
set code = code+ @Tran_name
where TranID = @Tran_id
end
else
begin
insert into #Test2 select @Tran_id, @Tran_name
end
FETCH NEXT FROM test_cursor
INTO @Tran_id, @Tran_name
End
CLOSE test_cursor
DEALLOCATE test_cursor
select * from #Test2
DROP TABLE #Test
DROP TABLE #Test2
set nocount off
Regards
Durai Nagarajan