2010-08-16 5 views
0

J'ai la requête suivante:MySQL JOIN avec OÙ

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; 

Il traite par bien jusqu'à ce que j'arrive à la clause WHERE.

C'est ce que je reçois au-dessus:

#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 

Quelqu'un peut-il s'il vous plaît indiquer ce que je fais mal? Je cours MySQL 5.1.48

Répondre

6

vous avez une virgule supplémentaire après subq