I tried two different variations on the same thing. The first version selects from freetexttable
, the other insets into a temp table and selects from that. I've tried numerous variations on the first version (select several combinations, at both levels of scope, of group by, distinct, and casting [rank] to an integer. Regardless, the first query consistently returns 3 rows each having value 137
whereas the second query consistently returns 1 row having value of 137
.
What is going on here? Why does freetext return duplicates and why aren't they eliminated with select distinct
or with group by
?
Note: I want to know why, not how to fix it. I already have acceptable workarounds.
select * from
(
select distinct [rank] from freetexttable(dbo.vw_PPN, allKeywords, N'foo', 100000 )
where [key] = 3781054
) as CT
create table #temp ([rank] int)
insert into #temp
select distinct [rank] from freetexttable(dbo.vw_PPN, allKeywords, N'foo', 100000 )
where [key] = 3781054
select * from #temp
drop table #temp