Чего мне не хватает в этом SQL? - PullRequest
0 голосов
/ 03 марта 2012

Я написал немного SQL для базы данных MySQL.

SELECT U.Id, U.Name, U.Surname 
  FROM match M 
 INNER JOIN created_by C 
    ON C.MatchId = M.Id 
 INNER JOIN user U 
    ON U.Id = C.UserId 
 WHERE M.Id = 3

Я схожу с ума, потому что это не кажется неправильным, но интерпретатор говорит, что здесь есть синтаксическая ошибка около 'match M INNER JOIN created_by C ON C.MatchId=M.Id INNER JOIN user U O'.

Спасибо за любой совет.

Ответы [ 2 ]

8 голосов
/ 03 марта 2012

MATCH является зарезервированным ключевым словом MySQL . Заключите его в кавычки, если вы собираетесь использовать его в качестве имени столбца или таблицы.

SELECT U.Id, U.Name, U.Surname 
  FROM `match` M 
3 голосов
/ 03 марта 2012

Я думаю, user & match - зарезервированное ключевое слово. Вы должны избежать этого. Попробуйте следующий запрос

SELECT U.Id, U.Name, U.Surname 
  FROM `match` M 
 INNER JOIN `created_by` C 
    ON C.MatchId = M.Id 
 INNER JOIN `user` U 
    ON U.Id = C.UserId 
 WHERE M.Id = 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...