表名:Table1      Table2         Table3        ...................................
字段:id          id             id
      name        Table1id       Table2id
      age         name           name
从第一个表查出一个记录集:Table1Rs(i)=select id from Table1 where age=20问题是,我要从第二个表查出一个记录Table2Rs(i),where条件是Table1id=上一个表查出的记录集里的一条记录,即Table1Rs(i)。依次类推,后一个表的查询条件是前一个表查询结果记录集中的一个。请问应该怎么在VB里实现,SQL怎么写!谢谢!我是新手,请举个清楚的例子。

解决方案 »

  1.   

    select 
       Table1.id,Table1.name,Table1.age,
       Table2.id,Table2.name,
       Table3.id,Table3.name
    from 
       Table1,Table2,Table3
    where
       Table1.id=Table2.Table1id
       and  Table2.id=Table3.Table2id
    这是三个表连接的语句
    还有一种办法是建立一个试图
    这样你想查什么结果都可以查到
      

  2.   

    不对!你没懂我的意思!where条件是:
    查Table1时:where age=20                    得出Table1Rs(i)记录集
    查Table2时:where Table1id =Table1Rs(i)     得出Table2Rs(i)记录集
    查Table3时:where Table2id =Table2Rs(i)     得出Table3Rs(i)记录集
    依次类推,SQL语句里当然不能这么写,关键是怎么在SQL里怎么写?
      

  3.   

    用变量
    查Table1时:where age=20                    得出Table1Rs(i)记录集
    查Table2时:where Table1id ='" & Table1Rs(i) & "'    得出Table2Rs(i)记录集
    查Table3时:where Table2id ='" & Table2Rs(i) & "'    得出Table3Rs(i)记录集