Se você der uma olhada aqui:http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/
existem várias técnicas que você pode fazer isso.
Adaptando-se à sua situação, aqui está um que parece simples:
select batch_no, LEFT(booksauthors, len(booksauthors)-1) as Authors from
(SELECT ba.Batch_no,
( SELECT cast(ba1.Author_no as varchar(10)) + ','
FROM Book_Authors ba1
WHERE ba1.Batch_no = ba.Batch_no
ORDER BY Author_no
FOR XML PATH('') ) AS BooksAuthors
FROM Book_Authors ba
GROUP BY Batch_no )A;