В моей базе данных у меня есть три таблицы:
- Users: UserID (автоматическая нумерация), UserName, UserPassword и несколько других неважных полей.
- PrivateMessages: MessageID (автоматическая нумерация), SenderID и несколько других полей, определяющих содержимое сообщения.
- MessageStatus: MessageID, ReceiverID, MessageWasRead (Boolean)
Мне нужен запрос, в который я ввожу идентификатор пользователя и получаю все полученные им личные сообщения.Кроме того, мне также нужно получить имя пользователя отправителя каждого сообщения.Для этого я написал следующий запрос:
SELECT Users.*, PrivateMessages.*, MessageStatus.*
FROM PrivateMessages
INNER JOIN Users ON PrivateMessages.SenderID = Users.UserID
INNER JOIN MessageStatus ON PrivateMessages.MessageID = MessageStatus.MessageID
WHERE MessageStatus.ReceiverID=[@userid];
Но по какой-то причине, когда я пытаюсь сохранить его в своей базе данных Access, я получаю следующую ошибку (переведенную мной на английский, так как мой офис находится в другомязык):
Синтаксическая ошибка (отсутствует оператор) в выражении: "PrivateMessages.SenderID = Users.UserID INNER JOIN MessageStatus ON PrivateMessages.MessageID = MessageStatus.MessageI".
Есть идеи, что может вызвать это?Спасибо.