我有两个包含多个字段的表。MySQL查询COUNT并从另一个表中加入列
表1:
+--------+---+---------------+
| month | id| VERDICT_id |
+--------+------+------------+
| 201307 | 1 | 1 |
| 201307 | 2 | 4 |
| 201307 | 3 | 2 |
| 201307 | 4 | 2 |
| 201307 | 5 | NULL |
| 201307 | 6 | 1 |
+--------+------+------------+
像这样每一个新的“月”,对于每一个独特的“身份证”的“VERDICT_ID”根据表2中的值设置。
表2:
+----+----------------------------------+
| id | title |
+----+----------------------------------+
| 1 | Passed |
| 2 | Failed (Component Fault) |
| 3 | Failed (User Fault) |
| 4 | Failed (Hardware Issue) |
+----+----------------------------------+
我做一个查询这给下面的输出
实际输出:
+--------+------------+----------+
| month | VERDICT_id | COUNT(*) |
+--------+------------+----------+
| 201307 | 1 | 2 |
| 201307 | 2 | 2 |
| 201307 | 4 | 1 |
+--------+------------+----------+
我要的是,
+--------+------------+----------+
| month | VERDICT_id | COUNT(*) |
+--------+------------+----------+
| 201307 | 1 | 2 |
| 201307 | 2 | 2 |
| 201307 | 3 | 0 |
| 201307 | 4 | 1 |
+--------+------------+----------+
的区别该se 2输出是,如果任何VERDICT_id在一个月内不存在,那么我想打印VERDICT_id和COUNT为'0'。
但用下面的查询是不可能的。
select month,VERDICT_id, COUNT(*) FROM Table1
where (month = 201307) AND (VERDICT_id BETWEEN 1 AND 4) GROUP BY month, VERDICT_id;
问:是否可以使查询打印不存在的VERDICT_id和COUNT为'0'?
您需要做一个左连接|可能的重复[如何显示在mySQL组中按零查询计数行?](http://stackoverflow.com/questions/6602343/how-to-show-rows-with-zero-counts-in-mysql-group - 查询) – Paulina