access肯定支持inner join,把你的语句贴出来看看.

解决方案 »

  1.   

    --可以用内连接,我设计的一个实例,没错!
    SELECT 课程信息表.课程编号, 课程信息表.课程名称, 教师信息表.教师姓名, 课程信息表.课程学时, 课程信息表.课程学分, 课程信息表.上课地点
    FROM 课程信息表 INNER JOIN 教师信息表 ON 课程信息表.教师编号 = 教师信息表.教师编号
    ORDER BY 课程信息表.课程编号;
    记住后边加上;号.
      

  2.   

    如果同时inner join 三个或三个以上就会报错
      

  3.   

    试过好几遍了,同时inner join 三个或三个以上的表就会报错!
    select a.xno,a.score,b.address,c.type from table1 a inner join table1 b on a.xno=b.xno inner join table3 c on b.xx=c.xx
      

  4.   

    表1为Subject(科目代码,余额方向)
    科目代码  余额方向
    1011       借方
    1023       贷方
    1012       借方
    表2为Item(科目代码,科目名称,借方余额,贷方余额)
    科目代码  科目名称  借方余额   贷方余额1011      银行存款   100       01012       现金      0         1001023       原材料    1000      01011       银行存款   0        1000我应该要得到这样的查询结果:科目代码,科目名称,余额方向,合计(借方余额和贷方余额的差的绝对值)
    1011       银行存款   借方     900
    create table #Subject(科目代码 char(10),余额方向 char(10))
    create table #Item(科目代码 char(10),  科目名称 char(20), 借方余额 money , 贷方余额 money)
    insert into #Subject(科目代码,余额方向)
    select 
    '1011',      '借方'
    union select
    '1023',       '贷方'
    union select
    '1012',       '借方'insert into #Item(科目代码,  科目名称 , 借方余额  , 贷方余额)
    select
    '1011',      '银行存款',  100,       0
    union select
    '1012'  ,     '现金'   ,   0 ,        100
    union select
    '1023'   ,    '原材料'  ,  1000  ,    0
    union select
    '1011' ,      '银行存款' ,  0  ,      1000select s.科目代码,科目名称,余额方向,abs(合计)
    from #Subject sinner join
    (
    select 科目代码,  科目名称 , sum(借方余额-贷方余额) as 合计 from #Item
    group by 科目代码,  科目名称 ) i   on s.科目代码=i.科目代码drop table #Subject,#Item
      

  5.   

    以上代码在SQL SERVER中可以执行,但在ACCESS中却出现错误
      

  6.   

    好像不是因为join太多,access查询支持32个表,好像是因为不支持子查询,access中的子查询只能用于exists,in,>,<等.
      

  7.   

    access同时INNER JOIN 3个表是肯定没问题的,出错的原因是执行顺序!前几天我也遇到这个问题,需要加()来确定执行顺序!
    select a.xno,a.score,b.address,c.type from ((table1 a inner join table1 b on a.xno=b.xno )inner join table3 c on b.xx=c.xx)