Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql MS-ACCESS 3表联接_Sql_Ms Access 2010 - Fatal编程技术网

Sql MS-ACCESS 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" ====

使用join语句从3个表中获取数据时遇到问题。 我将感谢任何帮助

谢谢

我有三张桌子:

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";

此外,字符串分隔符是双引号,而不是单引号。

此语法起作用。这是有用的。谢谢