Sql Access查询中的日期搜索未显示结果
您好,我正在尝试对我的数据库进行此查询,但它似乎没有显示任何结果。我也在access的设计视图中尝试过,但这个查询似乎不起作用,根本没有显示任何结果 这只是我在fixtures表上创建的一个小数据库,有Team1和Team2,fixture的日期,Team1和Team2是Team表中的FKsSql Access查询中的日期搜索未显示结果,sql,ms-access,Sql,Ms Access,您好,我正在尝试对我的数据库进行此查询,但它似乎没有显示任何结果。我也在access的设计视图中尝试过,但这个查询似乎不起作用,根本没有显示任何结果 这只是我在fixtures表上创建的一个小数据库,有Team1和Team2,fixture的日期,Team1和Team2是Team表中的FKs 您现在拥有的加入 SELECT tblTeam.TeamName, tblFixtures.FixtureDate FROM tblTeam INNER JOIN tblFixture
您现在拥有的加入
SELECT tblTeam.TeamName, tblFixtures.FixtureDate
FROM tblTeam
INNER JOIN tblFixtures
ON (tblTeam.TeamID = tblFixtures.Team2)
AND (tblTeam.TeamID = tblFixtures.Team1)
WHERE (((tblFixtures.FixtureDate) Between #1/1/2018# And #3/1/2018#));
希望在赛程中,第1组和第2组都有同一支球队
因为这从来都不是真的,所以没有行
如果您试图在tblTeam中查找每个团队的信息,则需要使用两个联接
例如:
注意不同的“tm1”和“tm2”-这就是清楚理解同一表格的两个副本的工作原理。使用tblTeams中的值时,请确保使用这些前缀来谈论正确的团队。Access非常适合在您将它们放入“发件人”后提醒您 那么,要将整个查询放在一起,如下所示:
FROM (tblFixtures AS tf
INNER JOIN tblTeams as tm1 on tf.Team1 = tm1.TeamId)
INNER JOIN tblTeams as tm2 on tf.Team2 = tm2.TeamId
你现在的加入
SELECT tblTeam.TeamName, tblFixtures.FixtureDate
FROM tblTeam
INNER JOIN tblFixtures
ON (tblTeam.TeamID = tblFixtures.Team2)
AND (tblTeam.TeamID = tblFixtures.Team1)
WHERE (((tblFixtures.FixtureDate) Between #1/1/2018# And #3/1/2018#));
希望在赛程中,第1组和第2组都有同一支球队
因为这从来都不是真的,所以没有行
如果您试图在tblTeam中查找每个团队的信息,则需要使用两个联接
例如:
注意不同的“tm1”和“tm2”-这就是清楚理解同一表格的两个副本的工作原理。使用tblTeams中的值时,请确保使用这些前缀来谈论正确的团队。Access非常适合在您将它们放入“发件人”后提醒您 那么,要将整个查询放在一起,如下所示:
FROM (tblFixtures AS tf
INNER JOIN tblTeams as tm1 on tf.Team1 = tm1.TeamId)
INNER JOIN tblTeams as tm2 on tf.Team2 = tm2.TeamId
取决于您的目标(图像在此被阻止) 你基本上需要两个球队名单——主队和客队。
要返回(可能)反映设备列表但使用团队名称而不是标识符的列表,请执行以下操作:
SELECT tm1.TeamName, tm2.TeamName, tf.FixtureDate
FROM
(tblFixtures as tf
INNER JOIN tblTeams AS tm1 ON tf.Team1 = tm1.TeamId)
INNER JOIN tblTeams tm2 ON tf.Team2 = tm2.TeamId
WHERE (((tf.FixtureDate) Between #1/1/2018# And #3/1/2018#));
另一种可能是,你只需要一份球队名单和他们比赛的日期。你需要一个union
查询将主客场球队拉到一个场地:
SELECT T1.TeamName
,T2.TeamName
,FixtureDate
FROM (tblFixtures INNER JOIN tblTeam T1 ON tblFixtures.Team1 = T1.TeamID)
INNER JOIN tblTeam T2 ON tblFixtures.Team2 = T2.TeamID
编辑:
- 如果字段来自哪个表没有歧义,则无需在SELECT子句中列出表名李>
- 通道通过支架从顶部穿过。例如,SQL中的
(tblFixtures.FixtureDate)
要返回(可能)反映设备列表但使用团队名称而不是标识符的列表,请执行以下操作:
SELECT tm1.TeamName, tm2.TeamName, tf.FixtureDate
FROM
(tblFixtures as tf
INNER JOIN tblTeams AS tm1 ON tf.Team1 = tm1.TeamId)
INNER JOIN tblTeams tm2 ON tf.Team2 = tm2.TeamId
WHERE (((tf.FixtureDate) Between #1/1/2018# And #3/1/2018#));
另一种可能是,你只需要一份球队名单和他们比赛的日期。你需要一个union
查询将主客场球队拉到一个场地:
SELECT T1.TeamName
,T2.TeamName
,FixtureDate
FROM (tblFixtures INNER JOIN tblTeam T1 ON tblFixtures.Team1 = T1.TeamID)
INNER JOIN tblTeam T2 ON tblFixtures.Team2 = T2.TeamID
编辑:
- 如果字段来自哪个表没有歧义,则无需在SELECT子句中列出表名李>
- 通道通过支架从顶部穿过。例如,SQL中的
(tblFixtures.FixtureDate)
(tblFixtures.FixtureDate)
抱歉,我添加了一个不显示数据的图像,我尝试删除了这些括号,但似乎没有任何效果,我在网上尝试了以下信息,还尝试了使用查询设计进行查询。这两种方法似乎都不适用于“mysql”标记,而是标题中的“accessquery”。我们能澄清一下我们使用的是什么数据库吗?看起来像是来自SQL的访问,但是…不需要过多地研究它-您不需要将tblTeam
拉入查询两次吗?现在你告诉它TeamID
必须同时等于Team2
和Team1
。没有数据,我们怎么知道?可能没有任何数据与查询匹配只是好奇为什么(tblFixtures.FixtureDate)
抱歉,我添加了一个不显示数据的图像,我尝试删除了这些括号,但似乎没有任何效果,我在网上尝试了以下信息,还尝试了使用查询设计进行查询。这两种方法似乎都不适用于“mysql”标记,而是标题中的“accessquery”。我们能澄清一下我们使用的是什么数据库吗?看起来像是来自SQL的访问,但是…不需要过多地研究它-您不需要将tblTeam
拉入查询两次吗?现在你告诉它,TeamID
必须同时等于Team2
和Team1
。好吧,这对我来说有点道理,所以我只需要添加上面的内容,而不是“发件人”部分中的内容?这就是所有的发件人。。。在“SELECT tblTeam.TeamName,tblFixtures.FixtureDate”之后,在“WHERE”之前。啊,我明白了,谢谢,当使用它进行完整查询时,会出现一个语法错误,查询表达式“tf.Team1=tm1TeamId internal JOIN tblTeams AS tm2 on tf.Team2您需要在第一个连接访问中添加括号,否则您将从(tf.Team1=tm1=tm1.TeamId上的tblfixes AS tf internal JOIN tblTeams AS tm1)内部连接tblTeams AS tm2 on tf.Team2=tm2.TeamId中获得语法错误,这是一个有趣的时机。我感谢你的沟通。它一直在移动:)好吧,这对我来说有点意义,所以我只需要添加上面的内容,而不是“从”部分中的内容?这就是所有的“从”。。。在“SELECT tblTeam.TeamName,tblFixtures.FixtureDate”之后,在“WHERE”之前。啊,我明白了,谢谢,当使用它进行完整查询时,会出现一个语法错误,查询表达式“tf.Team1=tm1TeamId internal JOIN tblTeams”中缺少运算符作为tf.team2上的tm2您需要在Access otherwis中的第一个连接上添加括号