从table1 join table2中选择id,table1.column1 + table2.column2作为总数。如果table2.column2没有值怎么办?

时间:2016-09-23 07:23:28

标签: mysql

帮助。 T_T

表1

+---------------+---------+-------------------+
| allowances_id | desc_id | column1           |
+---------------+---------+-------------------+
|             1 |       1 | 64055.35594866848 |
|             2 |       4 | 55627.97197247496 |
|             3 |       6 | 55627.97197247496 |
|             4 |       7 | 55627.97197247496 |
|             5 |       8 | 55627.97197247496 |
|             6 |       9 | 55627.97197247496 |
|             7 |       2 | 50293.50333209634 |
+---------------+---------+-------------------+

表2

+---------+-------+
| desc_id | total |
+---------+-------+
|       1 | 18150 |
|       4 | 18150 |
|       6 | 18150 |
|       7 | 18150 |
|       8 | 18150 |
|       9 | 18150 |
+---------+-------+

我想要table1.column1 + table2.total

table1(表2中的desc_id值为2 desc_id没有值为2所以基本上结果应该是column1 + 0.00

3 个答案:

答案 0 :(得分:1)

SELECT t1.column1 + COALESCE(t2.column2, 0)
FROM table1 t1
LEFT JOIN table2 t2
    ON t1.id = t2.id

答案 1 :(得分:0)

好像我想念了。如果在创建时已为列显式添加了非null,则空值和空值应存储为0.

答案 2 :(得分:0)

如果您认为您的值也可以为null,则可以在sql中使用ISNULL。

table1.column2 + ISNULL(table2.column2,0)