2010-08-16 43 views
0

我有以下查詢:MySQL的聯接與WHERE

SELECT * FROM 
    (SELECT t1.`id`, t1.`vehicle`, lp1.`veh_no` AS `lp_vehicle`, 
      t1.`last_date`, t1.`due_date`, t1.`driver`, lp4.`employ_name` AS `lp_driver` 
    FROM `inspection` AS t1 LEFT OUTER JOIN `vehicle` AS lp1 
    ON (t1.`vehicle` = lp1.`id`) 
    LEFT OUTER JOIN `employee_driver` AS lp4 
    ON (t1.`driver` = lp4.`id`)) subq, 
WHERE MONTH(t1.`due_date`) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH)) 
ORDER by vehicle asc; 

它處理通過罰款,直到我到了WHERE子句。

這是我得到以上:

#1064 - You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 
    'WHERE MONTH(t1.`due_date`) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH)) 
    ORDER b' 
at line 1 

可有人請指出我在做什麼錯?我正在運行MySQL 5.1.48

回答

6

在subq

之後有一個額外的逗號