Sql Access查询中的日期搜索未显示结果

Sql 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

您好,我正在尝试对我的数据库进行此查询,但它似乎没有显示任何结果。我也在access的设计视图中尝试过,但这个查询似乎不起作用,根本没有显示任何结果

这只是我在fixtures表上创建的一个小数据库,有Team1和Team2,fixture的日期,Team1和Team2是Team表中的FKs


您现在拥有的加入

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中的第一个连接上添加括号