是否可以手工创建一个在两个表中添加值的查询:
例如,假设您有两个表
id value
-- -----
a 1
c 2
d 3
f 4
g 5和
id value
-- -----
a 1
b 2
c 3
d 4
e 5然后,当您“添加”这两个表时,您将得到id匹配的结果。所以是a=1+1=2,它们没有返回相同的结果。所以查询将返回:
id value
-- -----
a 2
b 2
c 5
d 7
e 5
f 4
g 5发布于 2009-10-30 12:02:13
也许是像这样的
select coalesce(t1.id, t2.id) as id, (coalesce(t1.value, 0) + coalesce(t2.value, 0)) as value
from table1 t1 full outer join table2 t2 on t1.id = t2.id发布于 2009-10-30 12:14:43
使用:
SELECT x.id,
SUM(x.value)
FROM (SELECT t.id,
t.value
FROM TABLE_1 t
UNION ALL
SELECT t2.id,
t2.value
FROM TABLE_2 t2) x
GROUP BY x.id发布于 2009-10-30 12:36:54
你可以这样做--但其他的答案可能会更快:
SELECT t1.id, t1.value + t2.value AS value
FROM t1 INNER JOIN t2 ON t1.id = t2.id
UNION
SELECT t1.id, t1.value
FROM t1
WHERE t1.id NOT IN (SELECT t2.id FROM t2)
UNION
SELECT t2.id, t2.value
FROM t2
WHERE t2.id NOT IN (SELECT t1.id FROM t1)https://stackoverflow.com/questions/1647946
复制相似问题