CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  Access

在ACCESS中怎么样使用关联?

楼主citybug_nj()2006-03-07 15:53:28 在 其他数据库开发 / Access 提问

我写了一个查询语句,使用的右关联,但是在执行时发生错误  
  SELECT   WomanInfo.WomanID   AS   WomanID,   WomanInfo.WomanNo   AS   WomanNo,   CodeInfoA.CodeDec   AS   WomanType,   WomanInfo.WomanName   AS   WomanName,   WomanInfo.BirthDay   AS   BirthDay,   WomanInfo.WomanIDCard   AS   WomanIDCard,   CodeInfoK.CodeDec   AS   SchoolAge,   WomanInfo.Job   AS   Job,   WomanInfo.Telephone   AS   Telephone,   WomanInfo.Mobilephone   AS   Mobilephone,   WomanInfo.ManName   AS   ManName,   WomanInfo.ManBirthday   AS   ManBirthDay,   WomanInfo.ManIDCard   AS   ManIDCard,   CodeInfoB.CodeDec   AS   MaryState,   WomanInfo.FamilyCode   AS   FamilyCode,   CodeInfoC.CodeDec   AS   BearingStatus,   WomanInfo.BearingDate   AS   BearingState,   WomanInfo.ChildBirthday   AS   ChildBirthday,   CodeInfoD.CodeDec   AS   ChildSex,   CodeInfoE.CodeDec   AS   ChildPre,   CodeInfoF.CodeDec   AS   BearingPre,   WomanInfo.CyeticCheckTime   AS   CyeticCheckTime,   WomanInfo.MensesTime   AS   MeneseTime,   CodeInfoG.CodeDec   AS   ManageStatus,   WomanInfo.ReportDate   AS   ReportDate,   WomanInfo.BearingService   AS   BearingService,   CodeInfoH.CodeDec   AS   WorkResult,   WomanInfo.BearingNo   AS   BearingNo,   WomanInfo.FirstCheckDate   AS   FirstCheckDate,   WomanInfo.NearCheckDate   AS   NearCheckDate,   WomanInfo.InputZeroTime   AS   InputZeroTime,   WomanInfo.OutZeroTime   AS   OutZeroTime,   WomanInfo.Address   AS   Address,   WomanInfo.WomanMemo   AS   WomanMemo  
  FROM    
  (((((((((WomanInfo  
  right   join   CodeInfo   AS   CodeInfoA   on   (CodeInfoA.Code=WomanInfo.WomanType   and   CodeInfoA.CodeType='0006'))  
  right   join   CodeInfo   AS   CodeInfoB   on   (CodeInfoB.Code=WomanInfo.MaryState   and   CodeInfoB.CodeType='0008'))  
  right   join   CodeInfo   AS   CodeInfoC   on   (CodeInfoC.Code=WomanInfo.BearingStatus   and   CodeInfoC.CodeType='0003'))  
  right   join   CodeInfo   AS   CodeInfoD   on   (CodeInfoD.Code=WomanInfo.ChildSex   and   CodeInfoD.CodeType='0001'))  
  right   join   CodeInfo   AS   CodeInfoE   on   (CodeInfoE.Code=WomanInfo.ChildPre   and   CodeInfoE.CodeType='0002'))  
  right   join   CodeInfo   AS   CodeInfoF   on   (CodeInfoF.Code=WomanInfo.BearingPre   and   CodeInfoF.CodeType='0004'))  
  right   join   CodeInfo   AS   CodeInfoG   on   (CodeInfoG.Code=WomanInfo.ManageStatus   and   CodeInfoG.CodeType='0007'))  
  right   join   CodeInfo   AS   CodeInfoH   on   (CodeInfoH.Code=WomanInfo.WorkResult   and   CodeInfoH.CodeType='0009'))  
  right   join   CodeInfo   AS   CodeInfoK   on   (CodeInfoK.Code=WomanInfo.SchoolAge   and   CodeInfoK.CodeType='0005'))  
   
  请问,象这样的关联怎么写? 问题点数:50、回复次数:6Top

1 楼wwwwb()回复于 2006-03-07 16:07:45 得分 20

记得要加括号,一层一层   JOIN   下去  
  try:  
  ((((((((WomanInfo  
  right   join   CodeInfo   AS   CodeInfoA   on   (CodeInfoA.Code=WomanInfo.WomanType   and   CodeInfoA.CodeType='0006'))  
  right   join   CodeInfo   AS   CodeInfoB   on   (CodeInfoB.Code=WomanInfo.MaryState   and   CodeInfoB.CodeType='0008'))  
  right   join   CodeInfo   AS   CodeInfoC   on   (CodeInfoC.Code=WomanInfo.BearingStatus   and   CodeInfoC.CodeType='0003'))  
  right   join   CodeInfo   AS   CodeInfoD   on   (CodeInfoD.Code=WomanInfo.ChildSex   and   CodeInfoD.CodeType='0001'))  
  right   join   CodeInfo   AS   CodeInfoE   on   (CodeInfoE.Code=WomanInfo.ChildPre   and   CodeInfoE.CodeType='0002'))  
  right   join   CodeInfo   AS   CodeInfoF   on   (CodeInfoF.Code=WomanInfo.BearingPre   and   CodeInfoF.CodeType='0004'))  
  right   join   CodeInfo   AS   CodeInfoG   on   (CodeInfoG.Code=WomanInfo.ManageStatus   and   CodeInfoG.CodeType='0007'))  
  right   join   CodeInfo   AS   CodeInfoH   on   (CodeInfoH.Code=WomanInfo.WorkResult   and   CodeInfoH.CodeType='0009'))  
  right   join   CodeInfo   AS   CodeInfoK   on   (CodeInfoK.Code=WomanInfo.SchoolAge   and   CodeInfoK.CodeType='0005')  
  Top

2 楼citybug_nj()回复于 2006-03-07 16:20:47 得分 0

我不就是这么写的嘛,但是在ACCESS的SQL查询中过不去,提示为:“不支持连接表达式”Top

3 楼lcahuang(沧海月明珠有泪)回复于 2006-03-07 16:37:36 得分 20

你好象用不着这么多join吧。你只是用到了两个表,WomanInfo和CodeInfo,把其他条件作为where条件是不是就可以了。而且,同一个表通过不同的条件被jion多次,即使语法没有问题,你的结果也不会对地吧。Top

4 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-03-07 17:57:57 得分 5

呵呵,强的!Top

5 楼wwwwb()回复于 2006-03-08 09:03:48 得分 5

试试   将所有WHERE   条件写在最后Top

6 楼citybug_nj()回复于 2006-03-08 09:10:41 得分 0

使用这种关联,自然就存在可能WOMANINFO表中某些字段并不和CODEINFO表里面的数据匹配,如果把WHERE条件都写到最后,那结果中是什么都查不出来。左关联的语法形式就是一层层的加括号,我已经解决了。但是右关联呢?Top

相关问题

  • VB中treeview控件 怎么样和ACCESS数据库中的表关联
  • 用ADO访问Access数据库,怎么样使用SQL查询
  • 怎么样把LNK的关联取消?
  • 请问怎么样在C#的Winform程序在启动的时候能使用一个命令行参数或通过关联的文件来启动?
  • 怎么样使用CDC::TextOut()?
  • 急,怎么样使用GetUserNameEx
  • 这样两个表该怎么样进行关联
  • 讨论:使用VB.NET开发的WINFORM在WIN98运行,结合ACCESS 2000,需要怎么样的环境?
  • 怎么样在使用ACCESS的ADO连接时,用别名而不用数据库
  • 在ORACLE中不能使用关联吗?

关键词

  • code
  • womaninfo
  • codeinfo
  • codedec
  • codetype
  • codeinfof
  • codeinfoc
  • codeinfoa
  • codeinfob
  • codeinfod

得分解答快速导航

  • 帖主:citybug_nj
  • wwwwb
  • lcahuang
  • changechange
  • wwwwb

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo