如何将2个临时表一起添加

JD *_*cks 3 mysql sql temp-tables

如果我正在创建临时表,则有2列.idscore.我想把它们加在一起.

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

如果我有2个临时表调用t1t2

t1有:

id 3 score 4
id 6 score 7
Run Code Online (Sandbox Code Playgroud)

t2有:

id 3 score 5
id 5 score 2
Run Code Online (Sandbox Code Playgroud)

我最终会得到一个新的临时表,其中包含:

id 3 score 9
id 5 score 2
id 6 score 7
Run Code Online (Sandbox Code Playgroud)

我想这样做的原因是,我正在尝试构建产品搜索.我有一些我想要使用的算法,1使用全文而不是.我想使用这两种算法,所以我想创建一个基于algorithm1的临时表和一个基于algorithm2的临时表.然后结合它们.

Tom*_*Tom 6

怎么样:

SELECT id, SUM(score) AS score FROM (
  SELECT id, score FROM t1
  UNION ALL
  SELECT id, score FROM t2
) t3
GROUP BY id
Run Code Online (Sandbox Code Playgroud)

  • @Brendan:你的语法正确,但是汤姆得到了UNION ALL.团队合作! (3认同)