Функция MySQL TIMESTAMPDIFF не возвращает ожидаемый результат

#mysql

#mysql

Вопрос:

 SELECT
  M.strMemID                                          AS 'Member ID',
  M.strMemLastname                                    AS 'Last Name',
  M.STRMEMFIRSTNAME                                   AS 'First Name',
  M.strMemMiddlename                                  AS 'Middle Name',
  TIMESTAMPDIFF(YEAR, m.dtmMemBirthday, CURRENT_DATE) AS 'Age'
FROM TBLMEMBER M
WHERE m.strMemID NOT IN (SELECT DISTINCT m.strmemid
                         FROM tblmember m, tblmemberministry mm, tblpositionmemberministry pmm
                         WHERE m.strMemID = mm.strMMMemID AND mm.strmemmincode = pmm.strpmmmemmincode AND (
                           pmm.strPMMCode = 'POS041' OR PMM.STRPMMCODE = 'POS009' OR PMM.STRPMMCODE = 'POS010' OR
                           PMM.STRPMMCODE = 'POS012' OR PMM.STRPMMCODE = 'POS017' OR PMM.STRPMMCODE = 'POS021' OR
                           PMM.STRPMMCODE = 'POS028' OR PMM.STRPMMCODE = 'POS031' OR PMM.STRPMMCODE = 'POS037' OR
                           PMM.STRPMMCODE = 'POS039') AND mm.dtmMMDateQuit IS NULL AND pmm.dtmpmmdateto IS NULL AND
                               TIMESTAMPDIFF(YEAR, m.dtmMemBirthday, CURRENT_DATE) > 30);
  

Это мой код. Пожалуйста, игнорируйте запутанный подзапрос. Моя цель — отобразить элементы с age > 30 помощью . Я использую TIMESTAMPDIFF . Но этот запрос возвращает так же, как и запросы с возрастом до 30 лет. Кто-нибудь может мне помочь?

Комментарии:

1. изменить в нижний регистр

Ответ №1:

Мои плохие парни. Я не видел, что мой TIMESTAMPDIFF(YEAR, m.dtmMemBirthday, CURRENT_DATE) > 30 находится внутри моего подзапроса. Решаемая теперь, ребята! В любом случае спасибо.