MySQL: синтаксическая ошибка при использовании Join? - PullRequest
0 голосов
/ 10 октября 2011

Можете ли вы найти что-то не так с этим запросом?

        SELECT * FROM requests 
        WHERE id = '".$id."' 
        LEFT JOIN request_data ON (requests.id = request_data.request_id) 
        GROUP BY requests.id 

Некоторое время работал над ним, но, похоже, не могу понять, как правильно!

База данных выглядит так:

 -requests
   -id
   -another column
   -and a third one

 -request_data
   -request_id
   -key
   -value

РЕДАКТИРОВАТЬ: Ах да, и ошибка:

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 'LEFT JOIN request_data ON (requests.id = request_data.request_id) GROUP BY ' at line 3

Есть идеи?

1 Ответ

2 голосов
/ 10 октября 2011

WHERE находится не в том месте.

    SELECT *
    FROM requests 
    LEFT JOIN request_data ON (requests.id = request_data.request_id) 
    WHERE id = '".$id."' 

Вам, вероятно, не нужен GROUP BY, так как WHERE гарантирует, что будет возвращен только один id, если только вкаким-то образом вы полагаетесь на функциональность скрытых столбцов (которую вы не должны называть , результаты не определены ).

...