加入MySQL - 两个表(一些丢失的键)

时间:2015-04-07 17:41:37

标签: mysql select join

我们说我有两张桌子:

塔巴

+-----+----+
|TabID|Send|
|    1|   5|
|    2|   8|
|    3|  12|
|    4|  16|
+-----+----+

塔布

+-----+--------+
|TabID|Recieved|
|    1|      17|
|    4|       3|
|    5|       2|
|    6|       8|
+-----+--------+

我想得到这样的结果:

+-----+----+--------+
|TabID|Send|Recieved|
|    1|   5|      17|
|    2|   8|       3|
|    3|  12|       0|
|    4|  16|       0|
|    5|   0|       2|
|    6|   0|       8|
+-----+----+--------+

我试过了:

SELECT
COALESCE(A.TabID,B.TabID) as TabID,
COALESCE(A.Send,0) as Send,
COALESCE(B.Recieved,0) as Recieved
FROM
TabA AS A
LEFT JOIN
TabB AS B
ON
B.TabID = A.TabID

但我得到了这个:

+-----+----+--------+
|TabID|Send|Recieved|
|    1|   5|      17|
|    2|   8|       3|
|    3|  12|       0|
|    4|  16|       0|
+-----+----+--------+

我确定MySQL文档中有一个解决方案,但我不知道这个操作是如何调用的。

0 个答案:

没有答案