sql - 从两个表中选择最大日期,同时加入 3 个表
问题描述
我正在使用 Oracle SQL,我正在尝试获取一个用户当前有多少打开和关闭的请求。
我有三张表,一张用于打开的请求,一张用于关闭的请求,一张用于用户详细信息。
我已经加入了三个表,一次是内连接,另一次是左外连接。
但是,我遇到了一个问题,即在两个表(打开的请求和关闭的请求)中仅输出 MAX 日期内的数据。
我已经使用下面的代码来加入表格,你能告诉我如何设置从打开的请求表“O”中获取最大日期和从关闭的请求表“C”中获取最大日期的条件吗?我应该使用“with 子句”吗?我如何在这里使用它?我希望结果是一个三列的表,用户名,他有多少打开的请求,以及他有多少关闭的请求。
SELECT COUNT (O.USER_ID) ,COUNT (C.USER_ID), USER_NAME
FROM USER_OREQ O
INNER JOIN USER_DETAILS U ON O.USER_ID = U.ID
INNER JOIN USER_CREQ C ON U.ID = C.USER_ID
GROUP BY USER_NAME
ORDER BY USER_NAME ASC
解决方案
你似乎想要GROUP BY
子句MAX()
:
SELECT USER_NAME, MAX(O.DATE), MAX(C.DATE)
FROM USER_OREQ O INNER JOIN
USER_DETAILS U ON O.USER_ID = U.ID INNER JOIN
USER_CREQ C
ON U.ID = C.USER_ID
GROUP BY USER_NAME
ORDER BY USER_NAME ASC;
推荐阅读
- apache-kafka - 卡夫卡连接蒙戈
- javascript - 根据 X 和 Y 坐标调整图像大小
- javascript - 创建一个函数,通知您提供的参数中是否包含“dota”字符
- conda - rdkit 安装无法在 Windows 10 上运行?
- django - 单击特定类别名称后如何执行搜索功能?
- microsoft-graph-api - 如何将文件添加到调用 Microsoft Graph API 的 HTTP PUT 请求中?
- ssh - Pyinfra 转发 SSH 代理
- php - 处理多个步骤的设计模式
- python - 在 Mac 上安装 libomp
- php - 如何在 Laravel 中处理多个枢轴关系?