假设我有两个表 ta tb  ta表里面的列是:key ca2 ca3
tb表里面是 key ca2 ca3 cb2 cb3  两个表的列 key是一样的  我现在的问题是 通过读取key 将ta表里面的key ca2 ca3列的值选出来再插入到 tb那张表里
有没有一条数据库语句就搞定的 
key是通过request获取的 
cb2 cb3 也是通过request获取的

解决方案 »

  1.   

    insert into tb(key)
    select key,ca2,ca3 from ta where key=request自行修改一下
      

  2.   

    这样就把 所有的数据都插入到 tb表了吗 cb2 cb3 呢 
      

  3.   

    insert into tb(key,ca2,ca3,cb2,cb3) 
    select key,ca2,ca3,ca2 as cb2,ca3 as cb3 from ta where key=request 
      

  4.   

    insert into tb(key,ca2,ca3)
    select key,ca2,ca3 from ta建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
      

  5.   

    insert into tb(key,ca2,ca3 ) 
    select key,ca2,ca3 from ta where key=request
      

  6.   

    sorry,您可以用下面的语句插入,自己替换request_cb2\request_cb3\request_keyinsert into tb(key,ca2,ca3,cb2,cb3) 
    select key,ca2,ca3,request_cb2,request_cb3 from ta where key=request_key
      

  7.   

    假设你是用C,另外假设你的字段都是数字型。sql="insert into tb(key,ca2,ca3,cb2,cb3) select key,ca2,ca3," + request("cb2") +"," + request("cb3") from ta where key=" + request("key")其SQL语句原理如下。insert into tb(key,ca2,ca3,cb2,cb3) 
    select key,ca2,ca3,999,888 from ta where key=12345
      

  8.   

    mysql> desc tb_oa_leave;
    +------------------+--------------+------+-----+---------+----------------+
    | Field            | Type         | Null | Key | Default | Extra          |
    +------------------+--------------+------+-----+---------+----------------+
    | levid            | int(20)      | NO   | PRI | NULL    | auto_increment |
    | orgid            | char(20)     | YES  |     | NULL    |                |
    | parentid         | char(20)     | NO   |     | NULL    |                |
    | staffname        | char(20)     | NO   |     | NULL    |                |
    | levcatagoriy     | varchar(20)  | YES  |     | NULL    |                |
    | apptime          | datetime     | YES  |     | NULL    |                |
    | begindate        | date         | YES  |     | NULL    |                |
    | enddate          | date         | YES  |     | NULL    |                |
    | state            | varchar(1)   | YES  |     | NULL    |                |
    | approvingofficer | varchar(20)  | YES  |     | NULL    |                |
    | approvaltime     | datetime     | YES  |     | NULL    |                |
    | comments         | varchar(200) | YES  |     | NULL    |                |
    | reason           | varchar(100) | YES  |     | NULL    |                |
    +------------------+--------------+------+-----+---------+----------------+mysql> desc tb_oa_staff;
    +-----------------+--------------+------+-----+---------+-------+
    | Field           | Type         | Null | Key | Default | Extra |
    +-----------------+--------------+------+-----+---------+-------+
    | staffid         | decimal(4,0) | NO   | PRI | NULL    |       |
    | orgid           | char(20)     | NO   | MUL | NULL    |       |
    | staffname       | char(20)     | NO   |     | NULL    |       |
    | sex             | char(1)      | YES  |     | NULL    |       |
    | age             | int(11)      | YES  |     | NULL    |       |
    | national        | varchar(100) | YES  |     | NULL    |       |
    | birthday        | datetime     | YES  |     | NULL    |       |
    | certno          | varchar(30)  | YES  |     | NULL    |       |
    | political       | char(20)     | YES  |     | NULL    |       |
    | maritalstatus   | char(1)      | YES  |     | NULL    |       |
    | accountlocation | varchar(200) | YES  |     | NULL    |       |
    | currentaddress  | varchar(200) | YES  |     | NULL    |       |
    | telephone       | varchar(20)  | YES  |     | NULL    |       |
    | emergencyphone  | varchar(20)  | YES  |     | NULL    |       |
    | optrid          | varchar(20)  | YES  |     | NULL    |       |
    | opttime         | datetime     | YES  |     | NULL    |       |
    | re          | varchar(100) | YES  |     | NULL    |       |
    +-----------------+--------------+------+-----+---------+-------+
    mysql> desc tb_oa_organization;
    +----------+--------------+------+-----+---------+-------+
    | Field    | Type         | Null | Key | Default | Extra |
    +----------+--------------+------+-----+---------+-------+
    | orgid    | char(20)     | NO   | PRI | NULL    |       |
    | orgcode  | char(100)    | NO   |     | NULL    |       |
    | parentid | char(20)     | NO   |     | NULL    |       |
    | status   | char(1)      | YES  |     | NULL    |       |
    | optrid   | varchar(20)  | YES  |     | NULL    |       |
    | opttime  | datetime     | YES  |     | NULL    |       |
    | re   | varchar(100) | YES  |     | NULL    |       |
    +----------+--------------+------+-----+---------+-------+我我现在想leave表关联staff 和organization这两张表 把 orgid parentid staffname 查出来 插入到 leave表里面
    这样写 大家能理解了吗?
      

  9.   

    建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
    按照你这一句的理解答案如下。insert into leave (orgid,parentid,staffname)
    select tb_oa_staff.orgid,tb_oa_organization.parentid,tb_oa_staff.staffname
    from tb_oa_staff inner join tb_oa_organization using(orgid)
      

  10.   


     我也不知道你的对不对 现在需求变了,不过以前几个问题 acmain都回答的很好 大家都加分!