Sql 如何为列中的每个字符串生成超链接标记,以创建标记云
我在SQLServer中有一个表,用于存储博客中的信息,因此每条记录都是一篇文章。其中一列存储与每个帖子相关的标签 我需要为该列中存储的每个标记创建一个标记,它们用逗号“,”分隔 例如:对于记录1,列标记存储汽车、飞机和船只 我需要根据SELECT命令生成一列,该列将写入以下内容:Sql 如何为列中的每个字符串生成超链接标记,以创建标记云,sql,sql-server,select,Sql,Sql Server,Select,我在SQLServer中有一个表,用于存储博客中的信息,因此每条记录都是一篇文章。其中一列存储与每个帖子相关的标签 我需要为该列中存储的每个标记创建一个标记,它们用逗号“,”分隔 例如:对于记录1,列标记存储汽车、飞机和船只 我需要根据SELECT命令生成一列,该列将写入以下内容: <a href="blog-tags.aspx?tag=cars">cars<a><a href="blog-tags.aspx?tag=planes">planes</a&
<a href="blog-tags.aspx?tag=cars">cars<a><a href="blog-tags.aspx?tag=planes">planes</a><a href="blog-tags.aspx?tag=boats">boats</a>
任何帮助都将不胜感激!谢谢如果在数据和用户之间有某种编码层,那么最好在编码层中这样做 如果确实必须在sql中执行此操作,则可以首先将该列转换为单独的临时表,然后与临时表联接并相应地进行选择
INSERT INTO #tempTable(primaryKey, data)
SELECT yt.primaryKey, s.data
FROM
YourTable yt
inner join dbo.Split(yt.tags, ',') s
依赖于一个拆分函数,如这里所示:这不是一个非常快的函数。。。但这就足够了
然后
Select yt.*,
'<a href="blog-tags.aspx?tag=' + t.data + '">' + t.data + '<a>' as Link
from
YourTable yt
inner join #tempTable t on yt.PrimaryKey = t.PrimaryKey