我想把一个表中的数据复制到另一个表中,请问怎么复制,中间要用到条件select语句了
比如有个名单表
姓名 性别 年龄 学号 所在班级
成绩表
姓名 学号 成绩A 成绩B我想让一个按钮按下,然后将名单表中所在班级为第10班的姓名和学号字段的数据复制到成绩表中的姓名和学号,怎么做?谢谢大侠

解决方案 »

  1.   

    sql:='select name,id from table1 where class=10'
    query1.Sql.add(sql);
    query1.open;
    while not query1.eof do begin
      sqlstr:='insert into table2(name,id) values(pname,pid)';
      pname:=query1.fieldbyname('name').asstring;
      pid:=query1.fieldbyname('id').integer;
      query2.sql.add(sqlstr);
      query2.excesql;
    end;
      

  2.   

    不过这样效率很低,应该有sql语句可以实现的,忘了怎么写,不好意思
      

  3.   

    insert table2 (姓名,学号)
    select 姓名,学号
    from table1
    where class=10
      

  4.   

    格式是这样的:
    insert 目标表名 (列名1,列名2......)
    select 列名1,列名2...
    from 源表名
    where 条件
      

  5.   

    目标表已存在的情况:
    insert 目标表名 (列名1,列名2......)
    select 列名1,列名2...
    from 源表名
    where 条件
    目标表不存在的情况:
    select 列名1,列名2... into  目标表名 (列名1,列名2......)
    where 条件
    from 源表名
    where 条件