0

假设我有 2 张桌子:

Blog      BlogPosts
BlogId    BlogPostId
Name      BlogId
          Title

当我检索记录时,我想要 CSV 格式的 BlogPosts。我为此创建了一个用户定义的函数,并将 BlogId 作为参数传入。还有比这更好的方法吗?在用户定义的函数中发出数据库请求通常会成为性能杀手。你有什么其他的建议吗?

4

1 回答 1

3

试试这个:

select B.Name,
       (
         select ', '+BP.Title
         from BlogPosts as BP
         where B.BlogId = BP.BlogId
         for xml path(''), type
       ).value('substring((./text())[1], 3)', 'varchar(max)') as BlogPosts
from Blog as B

SQL小提琴

于 2012-10-18T08:29:41.270 回答