与えられているのは、共通のIDと整数値を持つ2つのテーブルです。
table1: table2:
| id | val | | id | val |
+------+------+ +------+------+
| 1 | 0 | | 1 | 1 |
| 2 | 1 | | 1 | 1 |
| 3 | 1 | | 2 | 2 |
| 4 | 2 | | 2 | 2 |
| 5 | 2 | | 3 | 2 |
| 3 | 2 |
| 3 | 2 |
| 4 | 6 | <id shifted for readability>
この結果を1つのクエリでアーカイブする方法:
result-table:
| id | val |
+------+------+
| 1 | 2 |
| 2 | 5 |
| 3 | 7 |
| 4 | 8 |
| 5 | 2 |
編集:
私が得たいくつかの答えに続いて:
SELECT t1.id, t1.val + SUM(t2.val) AS val
FROM table1 t1
LEFT JOIN table2 t2 ON (t1.id = t2.id)
GROUP BY t1.id
私に何を与えるか:
id val
1 2
2 5
3 7
4 8
5 NULL
しかし2 plus nothing = 2
、そうではありませんNULL
。別の方法はありますか?