gpt4 book ai didi

sql - 选择查询并使用 SQL 中的 select 进行插入

转载 作者:行者123 更新时间:2023-12-02 08:29:13 25 4
gpt4 key购买 nike

我有一个像这样的选择查询:

select 
SUM(Percentage) as SUM,
@cnt as Count,
(SUM(Percentage) / @cnt) as Percentage
from
#Temp2
group By
RowNumber
order by
Percentage desc
上述查询的

Percentage 列如下所示:

enter image description here

然后我在上面的查询下面有一个查询:

Update dbo.ResultsStored 
set FinalSearchSeral = @searchNumber,
ModifiedAt = getDate(),
PercentMatch = t.Perc
from
(select (SUM(Percentage) / @cnt) as Perc
from #Temp2
GROUP BY RowNumber) t
where
HashedKey = HASHBYTES('MD5', @StringConcat)

select *
from dbo.ResultsStored
order by PercentMatch desc

注意:这里的 where 子句不是问题,因为我打算仅使用匹配的哈希码代码更新行。

select 语句的结果让我感到困惑。

上面的 select 语句结果在 Percentage 列中,结果如下:

enter image description here

我不明白为什么上述查询计算出的百分比有所不同?

但是,第一个查询的结果是正确的,而第二个查询则出现问题。

最佳答案

结果是预期的,在更新中您需要指定哪个字段应该从查询中获取哪个值我的意思是使用Join,尝试这个(正如您在评论中提到的,如果 rowid 可以是联接列):

Update dbo.ResultsStored 
set dbo.ResultsStored.FinalSearchSeral = @searchNumber,
dbo.ResultsStored.ModifiedAt = getDate(),
dbo.ResultsStored.PercentMatch = t.Perc
from
dbo.ResultsStored
join
(select RowId,(SUM(Percentage) / @cnt) as Perc
from #Temp2
GROUP BY RowId) t
on dbo.ResultsStored.RowId=t.RowId
and dbo.ResultsStored.HashedKey = HASHBYTES('MD5', @StringConcat)

关于sql - 选择查询并使用 SQL 中的 select 进行插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com