在我的数据库中,我有三个表:
我需要的是一个查询,我输入了一个用户的ID,我收到了他收到的所有私信。另外,我还需要收到每条消息的发件人UserName。为此,我写了以下查询:
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“。
任何可能导致此问题的想法? 感谢。
答案 0 :(得分:4)
您需要使用MS Access的括号:
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];