设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5979|回复: 3
打印 上一主题 下一主题

[Access本身] 增加关联的表后提示SQL词句中含有二义性的外部连接

[复制链接]
跳转到指定楼层
1#
发表于 2016-4-5 20:44:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾,新手请教,急啊。。。。
因为查询中需要增加字段,我就在关系表中加入了相关的表
原本如下:

增加表后如下:最右边那个表就是加的

运行后如下提示:

前后的SQL如下:
加表前:
SELECT M来料表.料单号, M来料表.发生日期, M来料表.部门单位, M来料表.备注 AS 料单备注, M来料表.审核日期, M来料表.类别, M来料明细表.件号, M来料明细表.物料代码, M来料明细表.计划数, M来料明细表.数量, M来料明细表.批号, M来料明细表.单价, M来料明细表.生产时间, M来料明细表.件数, M来料明细表.产单批号, M来料明细表.明细备注, M来料明细表.库位号, M来料明细表.报检日期, M来料明细表.检验日期, M来料明细表.检验结论, M来料明细表.货物处置, M来料明细表.数据处置, M来料明细表.采单号, M来料明细表.对账日期, M来料明细表.生成时间, M来料明细表.配料备注, M来料明细表.有效性, S物料表.物料名称, S物料表.规格型号, S物料表.标准号, S物料表.标准单位, M采购订单表.采单备注, M供方表.供方代码, M供方表.供方全称, IIf([类别]="采购退货" Or [类别]="其它出库",-[数量],[数量]) AS 核算数量, [核算数量]*[单价] AS 核算金额, IIf([类别]="采购退货" Or [类别]="其它出库",-[件数],[件数]) AS 核算件数
FROM (M供方表 RIGHT JOIN M来料表 ON M供方表.供方简称 = M来料表.部门单位) LEFT JOIN (M采购订单表 RIGHT JOIN (S物料表 RIGHT JOIN M来料明细表 ON S物料表.物料代码 = M来料明细表.物料代码) ON M采购订单表.采单号 = M来料明细表.采单号) ON M来料表.料单号 = M来料明细表.料单号
WHERE (((M来料明细表.数据处置)="接受"));

加表后:
SELECT M来料表.料单号, M来料表.发生日期, M来料表.部门单位, M来料表.备注 AS 料单备注, M来料表.审核日期, M来料表.类别, M来料明细表.件号, M来料明细表.物料代码, M来料明细表.计划数, M来料明细表.数量, M来料明细表.批号, M来料明细表.单价, M来料明细表.生产时间, M来料明细表.件数, M来料明细表.产单批号, M来料明细表.明细备注, M来料明细表.库位号, M来料明细表.报检日期, M来料明细表.检验日期, M来料明细表.检验结论, M来料明细表.货物处置, M来料明细表.数据处置, M来料明细表.采单号, M来料明细表.对账日期, M来料明细表.生成时间, M来料明细表.配料备注, M来料明细表.有效性, S物料表.物料名称, S物料表.规格型号, S物料表.标准号, S物料表.标准单位, M采购订单表.采单备注, M供方表.供方代码, M供方表.供方全称, IIf([类别]="采购退货" Or [类别]="其它出库",-[数量],[数量]) AS 核算数量, [核算数量]*[单价] AS 核算金额, IIf([类别]="采购退货" Or [类别]="其它出库",-[件数],[件数]) AS 核算件数
FROM S物料类别表 INNER JOIN ((M供方表 RIGHT JOIN M来料表 ON M供方表.供方简称 = M来料表.部门单位) LEFT JOIN (M采购订单表 RIGHT JOIN (S物料表 RIGHT JOIN M来料明细表 ON S物料表.物料代码 = M来料明细表.物料代码) ON M采购订单表.采单号 = M来料明细表.采单号) ON M来料表.料单号 = M来料明细表.料单号) ON S物料类别表.物料类别 = S物料表.物料类别
WHERE (((M来料明细表.数据处置)="接受"));


请问要怎么解决呢???
敬请大虾指点

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-4-5 21:33:44 | 只看该作者
有些是1对多,有些是多对1
如果方向不对,就会变成无可适从

你可以这样尝试,把一个表删除,如果OK了,就是这个表引起的,再把这个表回来,修改 关系 的方向
3#
发表于 2016-4-5 22:51:35 | 只看该作者
新增的那个表试试
先删除关系【只删除新表的关系】,
然后把左边的字段拖到右边的字段看看?
4#
 楼主| 发表于 2016-4-6 12:37:32 | 只看该作者
楼上两位大哥正解啊,我修改了表的联接属性就可以了

非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-4 11:45 , Processed in 0.143030 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表