MS-ACCESS 3 table 加入
MS-ACCESS 3 table join
我在使用连接语句从 3 table 中获取数据时遇到问题。
如果有任何帮助,我将不胜感激。
谢谢。
我有 3 个 table:
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
我希望能够从 table "Appeals" 获得所有具有与类别名称 "CategoryA" 相关的类别 ID 的申诉(来自 table "AppealsCategories").对于每个申诉,获取 table "Appeals" 中与 SubmittedByUserID 相关的所有字段以及名字和姓氏(来自 table "Users")。
我写了这个 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";
此外,字符串分隔符是双引号而不是单引号。
我在使用连接语句从 3 table 中获取数据时遇到问题。 如果有任何帮助,我将不胜感激。
谢谢。
我有 3 个 table:
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
我希望能够从 table "Appeals" 获得所有具有与类别名称 "CategoryA" 相关的类别 ID 的申诉(来自 table "AppealsCategories").对于每个申诉,获取 table "Appeals" 中与 SubmittedByUserID 相关的所有字段以及名字和姓氏(来自 table "Users")。
我写了这个 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";
此外,字符串分隔符是双引号而不是单引号。