Как вернуть 1 однорядные данные из 2 разных таблиц с динамическим содержимым в SQL - PullRequest
0 голосов
/ 26 февраля 2011

Может кто-нибудь дать ответ на эту ситуацию ?? Предположим, у меня есть 2 таблицы:

Таблица Книги со значениями Batch_no и Заголовок

Batch_no - Заголовок
1 - A
2 - B

и;

Таблица Book_Authors со значениями Batch_no и Author_no

Batch_no - Author_no
1 - 1
1 - 2
1 - 3
2 - 1

Как мне объединить значения в 1 строку, которая должна выглядеть следующим образом

Batch_no Автор
1 - 1, 2, 3
2 - 1

Любая помощь будет принята с благодарностью ... Большое спасибо!

1 Ответ

0 голосов
/ 26 февраля 2011

Если вы посмотрите здесь: http://www.simple -talk.com / sql / t-sql-программирование / объединение значений строк в транзакции sql /

Есть несколько методов, которые вы можете сделать это.

Адаптация к вашей ситуации, вот тот, который выглядит просто:

    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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...