我一直CONTAINSTABLE
在我的查询中使用关键字匹配。我被要求扩展我们拥有的内容,以便它在特定列的权重上排名。我有一个更简单的查询显示如下:
SELECT [KEY], sum(rnk) as weightRank
FROM
(
SELECT RANK * 0.05 as rnk, * from CONTAINSTABLE (FundraisingPages, Description, 'marathon')
union all
SELECT RANK * 1 as rnk, * from CONTAINSTABLE (FundraisingPages, Title, 'marathon')
) as t
group by [KEY]
order by weightRank desc
这很好,它返回[Key]
and ,weightRank
正如我所要求的,但我也希望它返回所有FundraisingPages
列。但是,我似乎无法将其转化为SELECT
声明。
我都试过了*
,FundraisingPages.*
但我收到以下错误消息
列 't.rnk' 在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
现在我知道我只是rnk
从FROM
查询的一部分中进行选择,但是任何返回更多信息的尝试都会收到以下消息
为“t”多次指定了“KEY”列。
我知道我正在选择KEY
,我只能假设匹配不止一次,这可能就是我看到这些错误的原因,但似乎我什至无法从该表中选择单个列而不ID
进一步FundraisingPages
错误。