加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

如安在SQL Server中将多行毗连成一列?

发布时间:2021-04-02 14:42:35 所属栏目:编程 来源:网络整理
导读:我已经坎坷搜刮了这个谜底,但我无法弄大白.我对SQL Server较量生疏,但还没有很好的语法.我有这个数据布局(简化): Table "Users" | Table "Tags":UserID UserName | TagID UserID PhotoID1 Bob | 1 1 12 Bill | 2 2 13 Jane | 3 3 14 Sam | 4 2 2------------

我已经坎坷搜刮了这个谜底,但我无法弄大白.我对SQL Server较量生疏,但还没有很好的语法.我有这个数据布局(简化):

Table "Users"         | Table "Tags":
UserID    UserName    | TagID    UserID    PhotoID
1         Bob         | 1        1         1
2         Bill        | 2        2         1
3         Jane        | 3        3         1
4         Sam         | 4        2         2
-----------------------------------------------------
Table "Photos":              | Table "Albums":
PhotoID   UserID    AlbumID  | AlbumID     UserID
1         1         1        | 1           1
2         1         1        | 2           3
3         1         1        | 3           2
4         3         2        |
5         3         2        |

我正在探求一种要领来获取全部照片信息(简朴)以及该照片的全部标签毗连如CONCAT(用户名,’,’)AS标签虽然删除了最后一个逗号.我有一段时刻试图这样做.我在this article中实行了这个要领,可是当我实行运行查询说我不能行使DECLARE语句时呈现错误…你们有什么设法可以做到这一点吗?我正在行使VS08和个中安装的任何数据库(我凡是行使MySQL,以是我不知道这是什么范例的DB真的是……它是一个.mdf文件?)

办理要领

我要建设一个UDF:
create function GetTags(PhotoID int) returns @tags varchar(max)
as
begin
    declare @mytags varchar(max)
    set @mytags = ''

    select @mytags = @mytags + ',' + tag from tags where photoid = @photoid

    return substring(@mytags,3,8000)
end

然后,您所要做的就是:

select GetTags(photoID) as tagList from photos

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读