从两个表中选择最大日期,同时联接三个表

时间:2018-09-05 11:09:18

标签: sql oracle

我正在使用Oracle SQL,并且试图获取一个用户当前有多少个打开和关闭的请求。

我有三个表,一个用于打开的请求,一个用于关闭的请求,一个用于用户详细信息。

我已经连接了三个表,一次是内部联接,另一次是左侧外部联接。

但是,我遇到了一个条件,即只能在两个表(打开的请求和关闭的请求)的最大日期内输出数据。

我已使用下面的代码来联接表,您能告诉我如何设置一个条件来从打开的请求表“ 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

1 个答案:

答案 0 :(得分:0)

您似乎想要GROUP BY的{​​{1}}子句:

MAX()