SQL 查询不返回所有数据 - 只返回一半数据



我有一个SQL查询,它只提取2012年至2014年的数据。但是,我知道自2018年以来有更多的数据,但它并没有拉动。我需要把它拉到它拉所有日期的地方。这是我的代码。

select 
PA.STUD_ID AS STUDENT_ID,
LS.SEQ_NUM AS SEQ_NUM,
LS.LOGIN_ID AS LOGIN_ID,
LS.LOGIN_TYPE AS LOGIN_TYPE,
LS.SESSION_ID AS SESSION_ID,
LS.LOGIN_TIME AS LOGIN_TIME,
LS.LOGOUT_TIME AS LOGOUT_TIME,
LS.LST_UPD_USR AS LAST_USER_UPDATED,
LS.LST_UPD_TSTMP AS LAST_TIME_STAMP,
LA.ATTEMPT_SUCCESSFUL AS SUCCESSFUL_ATTEMPT
FROM
PA_STUDENT PA,
PA_STUD_LOGIN_ATTEMPT LA,
PA_LOGIN_SESSION_INFO LS
WHERE 
PA.STUD_ID = LA.STUD_ID
AND LA.SEQ_NUM = LS.SEQ_NUM
/** AND LOGIN_TIME >= [AuditDateRangeFrom] 
AND NOT LOGIN_TIME > [AuditDateRangeTo] */
/** AND [security:PA_STUDENT PA] 
*/

看起来您的表被命名为"PA"、"LS"和"LA",具体取决于您尝试返回的字段的语法。如果是这种情况,您的 FROM 部分应该是这样的:

FROM PA OUTER JOIN LA ON PA.STUD_ID = LA.STUD_ID OUTER JOIN LS ON LA.SEQ_NUM = LS.SEQ_NUM

您似乎正在尝试使用 WHERE 子句来告诉表如何连接,但这应该在 FROM 子句中。

基本上,除非你的表实际上被命名为"PA_STUDENT PA",否则 FROM 子句中的语法没有意义,但如果是这种情况,你的 SELECT 部分就没有意义了。

最新更新