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

时间:2018-06-21 17:30:36

标签: sql report birt

我有一个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] 
    */

1 个答案:

答案 0 :(得分:0)

根据您要返回的字段的语法,您的表似乎被命名为“ 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部分​​就没有意义。