我已经搜索了很多,但是我无法找到答案。我相对较新于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 |
我想要一种方法来获取所有照片信息(容易实现),并将该照片的所有标签连接起来,例如
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(username, ', ') AS Tags
,当然需要删除最后一个逗号。我试图使用这篇文章中的方法,但是当我尝试运行查询时会出现错误,说我不能使用DECLARE
语句...你们有什么想法吗?我正在使用VS08和其中安装的任何DB(我通常使用MySQL,所以我不知道这是哪种DB...它是一个.mdf文件?)
SELECT ',' + username
更改为SELECT TOP (100) PERCENT ', ' + dbo.users.username AS tags
... - Jason