获取现有项目计数比较MySQL中的两个表

时间:2018-01-03 15:29:24

标签: mysql sql

我的MySQL数据库中有两个表。

machine_tbl

|---------------------|------------------|
|      section        |     machine      |
|---------------------|------------------|
|    2400-TWO-001     |   AT-TWB-001     |
|---------------------|------------------|
|    2400-TWO-001     |   AT-TWB-002     |
|---------------------|------------------|
|    2400-TWO-001     |   AT-TWB-003     |
|---------------------|------------------|
|    2400-TWO-001     |   AT-TWB-004     |
|---------------------|------------------|
|    2400-TWO-002     |   AT-TWB-005     |
|---------------------|------------------|
|    2400-TWO-002     |   AT-TWB-006     |
|---------------------|------------------|
|    2400-TWO-003     |   AT-TWB-007     |
|---------------------|------------------|

open_notification_tbl

|---------------------|------------------|
|      user           |     machine      |
|---------------------|------------------|
|    a1               |   AT-TWB-001     |
|---------------------|------------------|
|    a1               |   AT-TWB-001     |
|---------------------|------------------|
|    a2               |   AT-TWB-001     |
|---------------------|------------------|
|    a3               |   AT-TWB-002     |
|---------------------|------------------|
|    a1               |   AT-TWB-002     |
|---------------------|------------------|
|    a4               |   AT-TWB-003     |
|---------------------|------------------|
|    a4               |   AT-TWB-004     |
|---------------------|------------------|

我想要的是为特定的部分获取计算机数来比较这两个表。

例如,2400-TWO-001部分有3台AT-TWB-001机器,2400-TWO-001部分有2台AT-TWB-002机器。喜欢明智的。如果没有机器那么计数应为零。然后我根据使用php创建一个JSON。

查询...

SELECT DISTINCT a.section, a.machine, count(b.user) AS countX FROM machine_tbl AS a LEFT JOIN open_notification_tbl AS b ON a.machine= b.machine WHERE section = ?

1 个答案:

答案 0 :(得分:0)

我想你想要:

SELECT COUNT(DISTINCT a.machine) AS countX
FROM machine_tbl m LEFT JOIN
     open_notification_tbl o
     ON m.machine = o.machine
WHERE section = ?;