Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何为列中的每个字符串生成超链接标记,以创建标记云_Sql_Sql Server_Select - Fatal编程技术网

Sql 如何为列中的每个字符串生成超链接标记,以创建标记云

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&

我在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=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