MySQL加入WHERE

时间:2010-08-16 14:54:58

标签: mysql

我有以下查询:

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

1 个答案:

答案 0 :(得分:6)

在subq

之后你有一个额外的逗号