sql - 如何将2个临时表加在一起

标签 sql mysql temp-tables

如果我正在创建具有 2 列的临时表。 idscore。我想将它们加在一起。

我想添加它们的方式是,如果它们每个都包含相同的 id,那么我不想复制 id,而是将分数加在一起。

如果我有 2 个名为 t1t2 的临时表

t1有:

id 3 score 4
id 6 score 7

t2有:

id 3 score 5
id 5 score 2

我最终会得到一个包含以下内容的新临时表:

id 3 score 9
id 5 score 2
id 6 score 7

我想这样做的原因是,我正在尝试构建产品搜索。我有一些我想使用的算法,1 使用全文,另一个不使用。我想同时使用这两种算法,所以我想创建一个基于算法 1 的临时表和一个基于算法 2 的临时表。然后将它们组合起来。

最佳答案

怎么样:

SELECT id, SUM(score) AS score FROM (
  SELECT id, score FROM t1
  UNION ALL
  SELECT id, score FROM t2
) t3
GROUP BY id

关于sql - 如何将2个临时表加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3241339/

相关文章:

java - 一个 SQL 查询中的多个语句,还是使用 Batch?

c# - 如何使用 PetaPoco 创建临时表?

mysql - 手动选择外键列mysql workbench

php - 注意 : Undefined variable: table in C:\XAMPP\htdocs\progscores. php 第 27 行

mysql - 使用计数触发除法金额未按预期工作

sql - 删除临时表时如何避免删除静态表

sql - Netezza 插入错误

sql - Oracle 中 select 语句结果的逗号分隔列表

c# - 使用别名获取列名

sql - 将 BLOB/CLOB 作为参数传递给 PL/SQL 函数