Синтаксическая ошибка отсутствует оператор в выражении запроса SUM - PullRequest
0 голосов
/ 27 апреля 2020

Я думаю, что запрос в порядке, но все еще сталкивается с ошибкой:

Syntax error (missing operator) in query expression 'SUM(...

Это мой запрос:

SELECT af.USERID, SUM(
    IIf(af.CHECKTIME Is Not Null,
        IIf(WeekDay(DateValue(af.CHECKTIME)) <> 6 And Format(af.CHECKTIME, 'hh:nn:ss') <= '08:15:00', 
            1, IIf(Format(af.CHECKTIME, 'hh:nn:ss') <= '08:30:00', 1, 0)
        ),
        IIf(bf.CHECKTIME Is Not Null,
            IIf(WeekDay(DateValue(bf.CHECKTIME)) <> 6 And Format(bf.CHECKTIME, 'hh:nn:ss') <= '08:15:00', 
                1, IIf(Format(bf.CHECKTIME, 'hh:nn:ss') <= '08:30:00', 1, 0)
            ), 0
        )
    ) AS [CAME ON TIME OR EARLY]  
FROM (CHECKINOUT AS af
    LEFT JOIN CHECKEXACT bf ON  af.USERID = bf.USERID)
    WHERE af.USERID = 6 And af.CHECKTIME Between #3/1/2020# And #3/31/2020#  GROUP BY af.USERID

Я проверял запрос несколько раз, но я думаю, что есть в этом нет проблем.

Не могли бы вы сказать, какой синтаксис мне не хватает?

1 Ответ

0 голосов
/ 27 апреля 2020

Здесь:

) AS [CAME ON TIME OR EARLY]  

Вы закрываете круглые скобки этого IIf(af.CHECKTIME Is Not Null,, но вам также необходимо закрыть паранты для суммы

)) AS [CAME ON TIME OR EARLY]  

Вы можете использовать поиск, чтобы увидеть что вы открываете 16 паратезов, но только закрываете 15.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...