【发布时间】:2012-04-03 08:51:41
【问题描述】:
在我的数据库中,我有三个表:
- 用户: UserID(自动编号)、UserName、UserPassword 和其他一些不重要的字段。
- PrivateMessages: MessageID(自动编号)、SenderID 和其他一些定义消息内容的字段。
- MessageStatus: MessageID、ReceiverID、MessageWasRead(布尔值)
我需要的是一个查询,我输入用户的 id 并获得他收到的所有私人消息。另外,我还需要接收每条消息的发件人用户名。为此,我编写了以下查询:
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"。
有什么想法会导致这种情况吗? 谢谢。
【问题讨论】:
标签: sql ms-access inner-join