回答

收藏

将多个html行合并为一个

技术问答 技术问答 264 人阅读 | 0 人回复 | 2023-09-12

我正在使用SQL Server 2012,有以下两个表
$ O5 F" P! W# E7 G博客7 E; d+ E+ s  h+ J
Id Title1  My Blog Title博客内容
: U" A8 ?/ t! G3 j1 qId Blogid Content1    1   My First Paragraph) d& J% Z3 @7 @6 f  n+ ?: j3 j
2     1  My Second Paragraph
; q2 @; k0 D4 a" d! w( w# H每个Blog可能有多个条目Content条目。这是一个varchar包含HTML内容字段。我需要选择一个博客,并将所有内容结合在一起。3 T3 [1 V8 N9 v: g% O: ]6 a# \
这是我试过的:; j* s6 }# J; ]3 T# B7 @! g7 J
SELECT B.Id,B.Title,STUFF(( SELECT    BC.Content         FROM BlogContent BC         WHERE B.Id = BC.Blogid        ORDER BY BC.Id ASC OFFSET 0 ROWS        FOR XML PATH('),1,0,AS ContentFROM Blog BWHERE B.Id = 1ORDER BY B.PublishDate DESC这是我的结果:
6 T" H! w0 [$ X# VId   Title             Content1    My Blog Title     <p>This is the first Message</p><p>This is the second Message</p>我上面的代码的问题是,一切都变成了HTML我想是因为编码FOR XML。如何在不添加此部分的情况下合并?如果不添加,就会出错。( I, t4 h8 P& N& @/ p" [6 c- z
子查询返回超过1个值。当子查询遵循=,!=,,> =不允许将子查询用作表达式。
) z5 S8 {3 N) h  P( [( V
如何获得以下结果:
: z/ ?, ?) V4 a8 s# kId   Title             Content1    My Blog Title     This is the first Message0 [  z+ s- ~) Z' }: j, Z
This is the second Message
* z7 Q6 i% Q# [1 g; S, Q( n                4 A, Z; E) z& b. W
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则