2016-10-10 18 views
2
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歳未満の人たちと同様に返されます。MySQL TIMESTAMPDIFF関数が期待した結果を返さない

+0

小文字に編集 – Drew

答えて

0

私の悪い人。私はTIMESTAMPDIFF(YEAR, m.dtmMemBirthday, CURRENT_DATE) > 30が私のサブクエリの中にあるのを見ませんでした。今すぐ解決されました!とにかく、ありがとう。

関連する問題