我有5个表,A表、B表、C表、D表、E表,每个表中都有一个ID字段,A表是一个公共表,A表里的ID是全局ID,现在B、C、D、E表中ID全都跟A表的ID有关联,也就是说B、C、D、E表中的ID字段值,在A表里也能找到。不知道我表达的清不清楚,如果了解动易SF系统的话就知道这个数据结构。
另外B、C、D、E表中都有一个sfzhm的字段,已知B表和C表中都有一个sfzhm字段值为412926195802044552的项目,现在用什么语句能把这几个表关联起来,查询出B、C、D、E表中sfzhm字段中包含412926195802044552的所有项目?
结构:A表
id title about
1    *     *
2    *     *
3    *     *
4    *     *
5    *     *
6    *     *
7    *     *
8    *     *
9    *     *B表
id  sfzhm  hjd
2    *      *
6    *      *C表
id   sfzhm   hjd
3     *       *
4     *       *
9     *       *
后面略...意思就是根据ID号到A表中就能查询到这个项目的标题。分表存储。

解决方案 »

  1.   

    select A.id ,A.title ,A.about 
    from A,B,C,D,E
    where A.ID=B.ID and A.ID=C.ID and A.ID=D.ID and A.ID=E.ID and
          (B.sfzhm='412926195802044552' or C.sfzhm='412926195802044552' or D.sfzhm='412926195802044552' or E.sfzhm='412926195802044552' )
      

  2.   

    1楼的谢谢了。可是我想用INNER JOIN的方法,你说的哪个自然链接方法在动易里好像不能分页
      

  3.   

    我用这样的语句怎么查询不到数据?
    FROM (((A INNER JOIN B ON A.ID=B.ID) INNER JOIN C ON A.ID=C.ID) INNER JOIN D ON A.ID=D.ID) INNER JOIN E ON A.ID=E.ID  
      

  4.   

    连接三个数据表的用法:
    FROM (Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel 
    语法格式可以概括为:
    FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号连接四个数据表的用法:
    FROM ((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity
    语法格式可以概括为:
    FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号连接五个数据表的用法:
    FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
    语法格式可以概括为:
    FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号
      

  5.   

    因为d,e表可能没有数据,如果使用inner join 查询不出 ,试一下 left join 
    不会是使用access吧!
    FROM (((A INNER JOIN B ON A.ID=B.ID) INNER JOIN C ON A.ID=C.ID) left JOIN D ON A.ID=D.ID) left JOIN E ON A.ID=E.ID
      

  6.   

    select A.id ,A.title ,A.about 
    from A,B,C,D,E
    where A.ID=B.ID and A.ID=C.ID and A.ID=D.ID and A.ID=E.ID and
          (B.sfzhm='412926195802044552' or C.sfzhm='412926195802044552' or D.sfzhm='412926195802044552' or E.sfzhm='412926195802044552' )