2010-08-16 46 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

之后有一个额外的逗号