sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo devolver datos de 1 sola fila de 2 tablas diferentes con contenido dinámico en sql

Si echa un vistazo aquí:http://www.simple-talk.com/sql/t-sql-programming/concatenando-valores-de-fila-en-transact-sql/

hay varias técnicas que puede hacer esto.

Adaptándose a su situación, aquí hay uno que parece simple:

    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;