Office中国论坛/Access中国论坛

标题: 求助:关于一张表两次调用另一张表的查询 [打印本页]

作者: huzijunreokiki    时间: 2015-5-31 07:44
标题: 求助:关于一张表两次调用另一张表的查询
本帖最后由 huzijunreokiki 于 2015-5-31 07:54 编辑

各位高手,我的问题是这样的,我的数据库里面有两张表一张叫做PlanningElements,一张叫做Use表,Use表是用来储存PlanningElements的元素关系的,比如ID26的元素需要用到ID7,8,20的元素。

表结构如图。
PlanningElements
[attach]56490[/attach]
Use
[attach]56491[/attach]
这两张表关系如图
[attach]56492[/attach]
[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\437399915\QQ\WinTemp\RichOle\}Z12@A8P~3IFDSBJ$FQ[_MJ.png[/img]
Use表里面的两个字段UseElementIDUsedElementID是复合主键,分别是Use表的外键,这两个字段都连接PlanningElementsElementID字段,所以被参照表是PlanningElements。现在我想实现调用,如果我需要查找出UseElementID26的元素所对应的UsedElementID字段的元素(如上所示ID7820这三个元素在PlanningElements表中对应的所有字段。
我用的数据库是ACCESS,调用语句是
SELECT PlanningElements.*
FROM PlanningElements INNER JOIN Use ON(PlanningElements.ElementID = Use.UsedElementID) AND(PlanningElements.ElementID = Use.UseElementID)
WHERE (((Use.UseElementID)=26) And(([UsedElementID])=[ElementID]));
可是查找不出结果,为什么呢?有哪位高手能指点一下,我星期一要交任务,急…………跪求指点~~~~

作者: huzijunreokiki    时间: 2015-5-31 19:27
有哪位高手告诉我一下,这条sql语句错在哪儿啊?{:soso_e103:}
作者: todaynew    时间: 2015-6-1 12:01
本帖最后由 todaynew 于 2015-6-1 14:13 编辑

你的Use表,反应的是多对多关系,不必在关系视图中建立关系。根据查询需要建立表间关系即可。
select a.*,b.*
from Use as a inner join PlanningElements as b on a.UsedElementID=b.ElementID
where a.UseElementID=26
作者: huzijunreokiki    时间: 2015-6-3 20:31
todaynew 发表于 2015-6-1 12:01
你的Use表,反应的是多对多关系,不必在关系视图中建立关系。根据查询需要建立表间关系即可。
select a.*, ...

谢谢,我发了帖子之后,也发现了可以给表格取别名这个方法,顿时觉得自己弱爆了,这个问题是在太简单。不过,非常谢谢大神的热心解答!我看过你的不少帖子,写得很棒!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3