Sql MS-ACCESS 3表联接
使用join语句从3个表中获取数据时遇到问题。 我将感谢任何帮助 谢谢 我有三张桌子:Sql MS-ACCESS 3表联接,sql,ms-access-2010,Sql,Ms Access 2010,使用join语句从3个表中获取数据时遇到问题。 我将感谢任何帮助 谢谢 我有三张桌子: Table "Users" ============= UserID FirstName LastName ----------------------------------------- 1 Mick Mickley 2 Tomy Hanks 3 Roger Waters Table "Appeals" ====
Table "Users"
=============
UserID FirstName LastName
-----------------------------------------
1 Mick Mickley
2 Tomy Hanks
3 Roger Waters
Table "Appeals"
===============
AppealID Title CategoryID SubmittedByUserID
-----------------------------------------------------------------
1 Title1 2 1
2 Title2 2 1
3 Title3 3 2
And Table "AppealsCategories"
=============================
CatID CatName CatDescription
-----------------------------------------
1 CategoryA CatDescription1
2 CategoryB CatDescription2
3 CategoryC CatDescription3
我希望能够从表“上诉”中获得所有上诉,该表的CategoryID与类别名称“CategoryA”(表“AppelsCategories”)相关。对于每个申诉,获取表“申诉”中与SubmittedByUserID相关的所有字段以及(来自表“用户”)的名字和姓氏
我写了这个SQL语句,但它不起作用:
SELECT Appeals.*, Users.Firstname, Users.LastName
FROM Users
JOIN Appeals ON Appeals.SubmittedByUserID=Users.UserID
JOIN AppealsCategories ON Appeals.CategoryID=AppealsCategories.CatID
WHERE AppealCategories.CatName='CategoryA';
我做错了什么,有什么帮助吗。。??我正在使用MS ACCESS
请帮忙!!!谢谢 正如Paul也指出的,您的查询中有一个输入错误。另外,括号,可爱的括号,您需要将连接包装成:
SELECT Appeals.*, Users.Firstname, Users.LastName
FROM ((Users
JOIN Appeals ON Appeals.SubmittedByUserID=Users.UserID)
JOIN AppealsCategories ON Appeals.CategoryID=AppealsCategories.CatID)
WHERE AppealsCategories.CatName='CategoryA';
MS Access具有非常特定的联接语法,包括特定的关键字和括号。试试这个:
SELECT Appeals.*, Users.Firstname, Users.LastName
FROM (Users INNER JOIN
Appeals
ON Appeals.SubmittedByUserID = Users.UserID
) INNER JOIN
AppealsCategories
ON Appeals.CategoryID = AppealsCategories.CatID
WHERE AppealsCategories.CatName = "CategoryA";
此外,字符串分隔符是双引号,而不是单引号。此语法起作用。这是有用的。谢谢