0

我有 2 张桌子。

表格1:-

id     name

1       k
2       a

表2:-

id    sub1    sub2

1      10      20
2      30      40

我希望输出为 k -> 30 和 a -> 70。

我触发了以下查询....

SELECT tbl_1.`name` , SUM(tbl_2.sub1 + tbl_2.sub2) as total 
from tbl_1, tbl_2 WHERE tbl_1.id = tbl_2.id;

输出 :-

k -> 100

但我想喜欢

k->30 a->70

如果有人有任何想法,请帮助....

4

3 回答 3

3

删除SUM(),然后使用tbl_2.sub1 + tbl_2.sub2

SUM()通过对所有行的值求和,“垂直”求和。

+在这种情况下,通过对列的值求和来“水平”求和。

你这样做的方式是水平和垂直的。

于 2012-04-13T10:18:02.107 回答
2

试试这个

SELECT t1.name, (t2.sub1+t2.sub2) AS total
FROM table1 t1 INNER JOIN table2 t2
    ON t1.id = t2.id
于 2012-04-13T10:18:41.433 回答
1
select name, (sub1+sub2) as total from tbl_1, tbl_2 where tbl_1.id = tbl_2.id;

SUM是列级运算符,我们需要尝试执行行级操作。一个简单的+应该理想地解决问题。

于 2012-04-13T10:22:10.547 回答