【发布时间】:2019-05-26 20:59:04
【问题描述】:
我正在尝试编写一个查询来计算单个帖子下的标签数量。我不知何故无法将标签分成一行并计算这些标签。
Other posts 建议创建一个函数来拆分标签,但是你不能创建数据交换的函数。
这是我目前的查询,它只会给我在帖子和标签中的帖子。
SELECT p.Id, p.Title, p.Tags, t.TagName
FROM Posts as p
INNER JOIN Tags as t ON p.Id = t.Id
【问题讨论】:
-
请显示表格的结构。
-
还有一些示例数据和预期输出。
-
我认为标签存储为例如(您的问题):
[<sql><sql-server><tsql><split><dataexplorer>]所以您可以通过LEN(Tage)-LEN(REPLACE(< or > FROM Tag))获取标签计数 -
mel,如果我理解正确,
Posts.Tags列是一个带有标签列表的字符串。如果是这样,您将不得不将其拆分为单个令牌并使用它们加入您的Tags表(而不是p.Id)。但这是疯狂的猜测...尝试使用 DDL、示例数据和加速输出设置 minimal reproducible example。 -
@Shnugo 他们在这里使用架构data.stackexchange.com/stackoverflow/query/new
标签: sql sql-server tsql split dataexplorer