如何将2个临时表添加在一起
如果我要创建临时表,该表有 2 列。 id
和 score
。我想把它们加在一起。
我想要添加它们的方式是,如果它们各自包含相同的id
,那么我不想重复id
,而是将分数添加在一起。
如果我有 2 个名为 t1
和 t2
的临时表,
并且 t1
had:
id 3 score 4
id 6 score 7
和 t2
had:
id 3 score 5
id 5 score 2
我最终会一个新的临时表包含:
id 3 score 9
id 5 score 2
id 6 score 7
我想这样做的原因是,我正在尝试构建产品搜索。我有一些我想使用的算法,1 使用全文,另一个不使用。我想使用这两种算法,所以我想创建一个基于算法 1 的临时表和一个基于算法 2 的临时表。然后将它们结合起来。
If I am creating temporary tables, that have 2 columns. id
and score
. I want to to add them together.
The way I want to add them is if they each contain the same id
then I do not want to duplicate the id
but instead add the scores together.
if I have 2 temp tables called t1
and t2
and t1
had:
id 3 score 4
id 6 score 7
and t2
had:
id 3 score 5
id 5 score 2
I would end up with a new temp table containing:
id 3 score 9
id 5 score 2
id 6 score 7
The reason I want to do this is, I am trying to build a product search. I have a few algorithms I want to use, 1 using fulltext another not. And I want to use both algorithms so I want to create a temporary table based on algorithm1 and a temp table based on algorithm2. Then combine them.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
怎么样:
How about:
这未经测试,但您应该能够对两个表执行并集,然后对结果执行选择,对字段进行分组并添加分数
This is untested but you should be able to perform a union on the two tables and then perform a select on the results, grouping the fields and adding the scores
对 ID 执行完全外部联接。将值合并为 0 后,选择 ID 和两个“分数”列的总和。
Perform a full outer join on the ID. Select on the ID and the sum of the two "score" columns after coalescing the values to 0.
您需要创建这两个表的并集,然后您可以轻松地将结果分组。
You need to create an union of those two tables then You can easily group the results.