繁体   English   中英

MS Access 2007中的SQL内部连接

[英]SQL Inner join in MS Access 2007

我在Access数据库中遇到内部联接问题。 我有两个表,每个表都有两列。 在两个表中一个是MID,另一个是DOB。 第一个表的名称为maintable,其他名称为under5。 我想将其与maintable匹配后检索under5表中存在的所有那些记录,因此我使用了内部联接。 问题是有一个MID 10106,其在under5表中的频率是2,在主表中是5,但是在运行查询后,返回的MID(10106)的数量是10(我猜期望的行为应该是2),这确实是荒谬的。 请帮助我解决这个问题。 这是我的查询:

SELECT maintable.MID, maintable.DOB, Under5.MID, Under5.DOB
FROM under5
INNER JOIN maintable ON under5.MID=maintable.MID;

这种行为绝对可以。

主表中的每一行将与内部表中的每一行匹配。 由于主表中有5行,内部表中有2行5 * 2 = 10行

Can there be any other way so that i could only retrieve those MID and DOB 
that is present in under5 table after matching it with maintable.

尝试这个

SELECT distinct Under5.MID, Under5.DOB 
FROM under5, MainTable
where under5.mid = mainTable.mid

您正在描述一个半联接,例如尝试:

SELECT Under5.MID, Under5.DOB
  FROM under5
 WHERE EXISTS (
               SELECT * 
                 FROM maintable 
                WHERE maintable.MID = under5.MID
              );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM