【发布时间】:2019-11-11 14:03:38
【问题描述】:
我有 2 个表 config_location_workstation 和 asset_workstation,它们都有 floor 和 workstation_number 列。
我希望查询返回如下内容:
地板| SUM 生产工作站 |总人数
下面的代码来自另一个来源,我能够得出总和,但数字不正确,因为我想要得到的是所有生产工作站的数量。
SELECT config_location_workstation1.floor,
(SELECT COUNT(config_location_workstation2.workstation_number)
FROM config_location_workstation AS config_location_workstation2
WHERE config_location_workstation2.floor = config_location_workstation1.floor) AS SUM_FLOOR,
(SELECT COUNT(asset_workstation2.workstation_number)
FROM asset_workstation AS asset_workstation2
WHERE asset_workstation2.floor = config_location_workstation1.floor) AS SUM_HEAD
FROM config_location_workstation AS config_location_workstation1
INNER JOIN asset_workstation AS asset_workstation1
ON (config_location_workstation1.workstation_number = asset_workstation1.workstation_number)
WHERE config_location_workstation1.workstation_name = 'NORTH PRODUCTION'
GROUP BY config_location_workstation1.floor
问题是 WHERE 无法处理此代码。 工作站列总和无效。它正在拉起所有条目。我只需要查询所有 PRODUCTION 工作站
这是当前的输出。
+-------+-------------+------+------+
| Floor | Head Count | Workstations|
+-------+-------------+------+------+
| 18TH | 696 | 576 |
| 19TH | 381 | 463 |
| 20TH | 380 | 760 |
+-------+-------------+------+------+
所有生产工作站的预期输出
+-------+-------------+------+------+
| Floor | Head Count | Workstations|
+-------+-------------+------+------+
| 18TH | 696 | 497 |
| 19TH | 381 | 388 |
| 20TH | 380 | 659 |
+-------+-------------+------+------+
【问题讨论】: