有两个表,table1,table2  ,  table1 是table2的父表,两个表组合起来形成记录,现在Table2有四条记录,经过SQL语句查询,这四条记录形成第三个临时表的四个字段,不知道有什么技巧能实现。注:数据库是用ACCESS  ,(是不是可以象ORACLE 那样select count(*) count from db  来查询,或者可以有 select rownum from  db 这样查询)

解决方案 »

  1.   

    我理解的是,关系型数据库只能处理二维的数据表.如果是用一个表的记录作为另一个表的字段.就不是一个二维表了,而是一个表中套表的结构.这在关系型数据库中是不充许的.
    但你好象是要统计一个表中符合条件的元组个数.将这一值作为另一表中某一字段的值.这是可以的.ACCESS同样也提供了集函数count.
      

  2.   

    谢谢tmanje(大树) ;
    我晚上试一下count,不过我觉得这样的SQL可能比较麻烦。能不能给我一个比较完善的SQL语句,要对ACCESS进行操作的,他跟其他的语法有点不一样。
      

  3.   

    用别名
    给一个例子
      dmd.bak1.Close;
      dmd.bak1.SQL.Clear;
      //dmd.bak1.SQL.Add('select * from '+strname+'');
      dmd.bak1.SQL.Add('select lybm as 领用部门,xh as 型号,mc as 名称,dw# as 单位,sl# as 数量,dj as 单价,je as 金额,sj as 时间,ID as ID from '+strname+' '  );
      dmd.bak1.SQL.Add('where lybm='''+combobox1.Text+'''');
      dmd.bak1.SQL.Add('order by ID DESC');
      dmd.bak1.Open;
      

  4.   

    谢谢taiguang(银狐),
    但是我说的不是你那个的意思,先看一下下面的SQL,是操作ORACLE 的select * from 
    ( select chr_usercode from (select rownum as row_id,chr_usercode from db_cp_user ) a  where a.row_id=2 ),
    ( select CHR_BANKERCODE from (select rownum as row_id,CHR_BANKERCODE from db_cp_banker ) a  where a.row_id=2 )这样就可以把两个表的第二条记录分别当成返回记录集的两个字段,但是在ACCRESS 中没有ROWNUM 这样的操作,也没有COUNT(*) 的操作,所以有点迷惑,请各位大虾帮帮忙!!!