【发布时间】:2014-06-30 19:12:09
【问题描述】:
我有三张桌子:
book_shelf->pkid等列book_author->pkid,fkid_book_shelf,fkid_authorauthor->pkid,name等
对于book_shelf 中的一行,希望将作者姓名以逗号分隔。如果书架实体有两个作者,则在book_author 表中插入两行。
这是我尝试过的
(select BookShelf.pkid as SrNo,stuff((select ',' + a.name
from
lib.book_shelf bs inner join
lib.book_author ba on bs.pkid=ba.fkid_book_shelf
inner join lib.author a on a.pkid=ba.fkid_authors
for xml path ('')
), 1, 1, '') as Author from lib.book_shelf BookShelf)
但它会为每个 book_shelf 行选择所有作者姓名。
【问题讨论】:
标签: sql sql-server