税务稽查 发表于:2012-06-10 21:48:10
有A和B两个表,在为B表建立查询后,我又能建立了A表和B表之间的关联,可是在B查询中只能显示A表中的第一条记录,但是我建立的其他几个查询表不存在这个问题,不知道什么原因,在线求解决,谢谢了
进一步说明一下,不是显示第一条记录,而是不显示全部记录,只能显示部分记录。比如说A表中有10记录,但是在根据A表生成的查询表中只能显示部分记录,什么原因啊?????
把联接线改成 一对多,或多对一
原因是:俩链接的字段数据不全相等
楼主看看联结关系做的对不对,关于联结百度了一段资料供参考(注:ACCESS不支持下面提到完整外部联接)
SQL联接类型
当联接表时,创建的联接类型影响出现在结果集内的行。可以创建下列联接类型:
内联接 仅显示两个联接表中的匹配行的联接。(这是查询设计器中的默认联接类型。)例如,可以联接 titles 表和 publishers 表以创建显示每个书名的出版商名称的结果集。在内联接中,结果集内不包含没有出版商信息的书名,也不包含没有书名的出版商。这类联接所得到的 SQL 可能象下面这样:
SELECT title, pub_name
FROM titles INNER JOIN
publishers ON titles.pub_id = publishers.pub_id
注意 当创建内联接时,包含 NULL 的列不与任何值匹配,因此不包括在结果集内。空值不与其它的空值匹配。
有关创建内联接的更多信息,请参见自动联接表。
外联接 甚至包括在联接表中没有相关行的行的联接。可以创建外联接的三个变化形式来指定所包括的不匹配行:
左向外联接 包括第一个命名表("左"表,出现在 JOIN 子句的最左边)中的所有行。不包括右表中的不匹配行。例如,下面的 SQL 语句说明 titles 表和 publishers 表之间的左向外联接包括所有的书名,甚至包括那些没有出版商信息的书名:
SELECT titles.title_id,
titles.title,
publishers.pub_name
FROM titles LEFT OUTER JOIN publishers
ON titles.pub_id
= publishers.pub_id
右向外联接 包括第二个命名表("右"表,出现在 JOIN 子句的最右边)中的所有行。不包括左表中的不匹配行。例如,在 titles 和 publishers 表之间的右向外联接将包括所有的出版商,甚至包括那些在 titles 表中没有书名的出版商。所得到的 SQL 可能象下面这样:
SELECT titles.title_id,
titles.title,
publishers.pub_name
FROM titles RIGHT OUTER JOIN publishers
ON titles.pub_id
= publishers.pub_id
完整外部联接 包括所有联接表中的所有行,不论它们是否匹配。例如,titles 表和 publishers 表之间的完整外部联接显示所有书名和所有出版商,甚至包括那些在另一个表中没有匹配值的书名和出版商。
SELECT titles.title_id,
titles.title,
publishers.pub_name
FROM titles FULL OUTER JOIN publishers
ON titles.pub_id
= publishers.pub_id
有关创建外联接的更多信息,请参见创建外联接。
交叉联接 在这类联接的结果集内,两个表中每两个可能成对的行占一行。例如,在通过作者 CROSS JOIN 出版商输出的结果集内,每个可能的作者/出版商组合占一行。所得到的 SQL 可能象下面这样:
SELECT *
FROM authors CROSS JOIN publishers
已经找出问题了,设置的关系是一对一,谢谢啦
总记录:4篇 页次:1/1 9 1 :