我想问一个关于 mysql 查询的快速问题。
我有一个名为 trans 的表:
+----+---------------------+------+-------+----------+----------+
| ID | Date | User | PCNum | Customer | trans_In |
+----+---------------------+------+-------+----------+----------+
| 8 | 2013-01-23 16:24:10 | test | PC2 | George | 10 |
| 9 | 2013-01-23 16:27:22 | test | PC2 | Nick | 0 |
| 10 | 2013-01-24 16:28:48 | test | PC2 | Ted | 10 |
| 11 | 2013-01-25 16:36:40 | test | PC2 | Danny | 10 |
+----+---------------------+------+-------+----------+----------+
和另一个命名的客户:
+----+---------+-----------+
| ID | Name | Surname |
+----+---------+-----------+
| 1 | George | |
| 2 | Nick | |
| 3 | Ted | |
| 4 | Danny | |
| 5 | Alex | |
| 6 | Mike | |
.
.
.
.
+----+---------+-----------+
我想查看日期范围内特定客户的 trans_in 列的总和,但也包括在结果集中,那些在所选日期范围内没有任何记录的客户。他们的 trans_in 总和可能显示为 NULL 或 0 没关系...
我有以下查询:
SELECT
`Date`,
Customer,
SUM(trans_in) AS 'input'
FROM trans
WHERE Customer IN('George','Nick','Ted','Danny')
AND `Date` >= '2013-01-24'
GROUP BY Customer
ORDER BY input DESC;
但这只会返回 'Ted' 和 'Danny' 的总和,因为他们只有在 1 月 24 日之后才有交易......
如何包含 WHERE IN (...) 函数内的所有客户,即使是在所选日期范围内没有交易的客户?
我想我必须以某种方式与客户表一起加入他们,但我不知道如何。
提前致谢!!
:)