Is this what you have in mind ?Not a very elegant solution 
declare @Article table( ArticleID int, Language int, Source int, Date datetime, ArticleTitle varchar(10), ArticleBrief varchar(10))declare @CompleteFile table( ID int identity(1,1), ArticleID int, CompleteFile int)insert into @Articleselect 1, 100, 100, getdate(), 'Article 1', '' union allselect 2, 200, 200, getdate(), 'Article 2', ''insert into @CompleteFile(ArticleID, CompleteFile)select 1, 11 union allselect 1, 12 union allselect 1, 13 union allselect 2, 21 union allselect 2, 22select a.ArticleID, a.ArticleTitle, c1.CompleteFile as CompleteFile1, c2.CompleteFile as CompleteFile2, c3.CompleteFile as CompleteFile3, c4.CompleteFile as CompleteFile4from @Article a inner join @CompleteFile c1 on a.ArticleID = c1.ArticleID and c1.CompleteFile = (select top 1 CompleteFile from @CompleteFile x where x.ArticleID = c1.ArticleID order by x.CompleteFile) left join @CompleteFile c2 on a.ArticleID = c2.ArticleID and c2.CompleteFile = (select top 1 CompleteFile from @CompleteFile x where x.ArticleID = c2.ArticleID and x.CompleteFile <> c1.CompleteFile order by x.CompleteFile) left join @CompleteFile c3 on a.ArticleID = c3.ArticleID and c3.CompleteFile = (select top 1 CompleteFile from @CompleteFile x where x.ArticleID = c3.ArticleID and x.CompleteFile <> c1.CompleteFile and x.CompleteFile <> c2.CompleteFile order by x.CompleteFile) left join @CompleteFile c4 on a.ArticleID = c4.ArticleID and c4.CompleteFile = (select top 1 CompleteFile from @CompleteFile x where x.ArticleID = c4.ArticleID and x.CompleteFile <> c1.CompleteFile and x.CompleteFile <> c2.CompleteFile and x.CompleteFile <> c3.CompleteFile order by x.CompleteFile)ArticleID ArticleTitle CompleteFile1 CompleteFile2 CompleteFile3 CompleteFile4 ----------- ------------ ------------- ------------- ------------- ------------- 1 Article 1 11 12 13 NULL2 Article 2 21 22 NULL NULL
KH