sql - 根据第一个表中的值计算第二个表中的记录数
问题描述
我有3个这样的表:
我想得到这个:
通知表中有所有行(选定的属性)。
然后是通知所在的位置名称。发生(Notification.Location_ID = Location.ID
)
和在通知的时间段内发生在同一位置的进程计数。( COUNT(Process.ID) WHERE Notification.Location_ID = Process.Location_ID AND DateTime > Begin AND DateTime < End
)
我认为我在正确加入 Process 表时遇到问题。
整个 SQL 查询应该如何获得想要的输出?谢谢。
解决方案
看起来前两个表之间的连接是好的,所以,我建议您在 FROM 之前的 SELECT 子句末尾添加以下子查询,以计算行的计数器。
(SELECT Count(*) FROM Process WHERE Process.Location_ID = Location.ID) AS Counter
如果您已在联接中包含第三个表(进程),则必须将其消除。
推荐阅读
- next.js - 如何将日期注入到 react-dates 库中?
- forms - 未定义不是对象(评估'_this._ageinput = _ref2')
- excel - Worksheet_Change 事件未使用无线扫描仪触发
- mongoose - 如何使用猫鼬对带有数字的名称进行排序?
- javascript - 更新 jQuery 中的现有属性
- azure-functions - 如何从 Azure API 管理和 Application Insights 获取调用方的 IP 地址
- c# - Unity:获取准确的时间
- phpstorm - PhpStorm - Xdebug 问题:在测试文件上本地找不到文件'/project_path/Standard input code'
- android - Android警报对话框自定义视图与父高度不匹配
- mongodb - Mongodb:Mongoose模式中必须使用哪种数据类型来存储文档的null和ObjectId