如何使用 MS Access 数据库中一个表的两列条件的 SQL 内连接

问题描述 投票:0回答:1

我正在尝试使用 MS Access 数据库中一个表的两列条件的 sql 内连接,而且我只想要一个 sql 查询。

请指导我

谢谢

SELECT PERSON.IDPERSON, MASTERPERSON.PERSONNAME, PERSON.[DATE], MASTERPERSON.LOCATION, FORMAT(PERSON.DATE,'dddd') AS DAYS
FROM PERSON INNER JOIN MASTERPERSON ON PERSON.IDPERSON = MASTERPERSON.IDPERSON;

以上 Sql 的结果:

身份识别者 人名 日期 地点 天数
1000 雷伊 24 年 5 月 29 日 A 周三
1000 雷伊 24 年 5 月 30 日 A 星期四
1001 迈克尔 24 年 5 月 29 日 B 周三
1001 迈克尔 24 年 5 月 30 日 B 星期四

桌子

PERSON

身份识别者 日期
1000 24 年 5 月 29 日
1000 24 年 5 月 30 日
1001 24 年 5 月 29 日
1001 24 年 5 月 30 日

桌子

MASTERPERSON

身份识别者 人名 地点
1000 雷伊 A
1001 迈克尔 B

桌子

PERSONDAYS

地点 天数 状态
A 周三 A10
A 星期四 A27
B 周三 B18
B 星期四 B29

想要的结果

身份识别者 人名 日期 地点 天数 状态
1000 雷伊 24 年 5 月 29 日 A 周三 A10
1000 雷伊 24 年 5 月 30 日 A 星期四 A27
1001 迈克尔 24 年 5 月 29 日 B 周三 B18
1001 迈克尔 24 年 5 月 30 日 B 星期四 B29
sql ms-access inner-join
1个回答
0
投票

Access 对于使用带有多个 JOIN 子句的括号很挑剔。使用查询设计器获得正确的语法。但是,无法直接 JOIN 到设计视图中的计算值。获取带有正确括号的多个连接子句,然后切换到 SQL 视图添加 AND

pd.DAYS = FORMAT(PERSON.DATE, 'dddd')
,但永远无法在设计中查看。

SELECT Person.IDPerson, MasterPerson.PersonName, Person.Date, MasterPerson.Location, PersonDays.Days, PersonDays.Status
FROM PersonDays INNER JOIN (Person INNER JOIN MasterPerson 
ON Person.IDPerson = MasterPerson.IDPerson) 
ON PersonDays.Location = MasterPerson.Location AND PersonDays.DAYS = FORMAT(PERSON.DATE, 'dddd');

否则,构建一个执行

Format([Date],'dddd')
计算的查询对象,然后在另一个查询中使用该查询,以便设计视图能够显示连接。

© www.soinside.com 2019 - 2024. All rights reserved.