小弟 最近 在做一个 asp.net程序 
假设有两张表a、b,a中有一个username的字段,想添加b表的两个字段数据同时把a表中username的所有数据也添加到b表的column中。
也就是:
a(username)
b(column1,column2,username)
怎么在向b添加一行记录同时 ,自动把a中username添加到b的username列中。。

解决方案 »

  1.   

    首先保证b表不存在,然后将a表内容插入到b表中
    create table a(username varchar(10))
    insert a
    select 'blue' union all
    select 'neal'
    if OBJECT_ID('b') is not null
    drop table b
    go
    select * into b
    from
    (
    select null as column1,null as column2,username from a
    ) o
      

  2.   

    LZ 你好,
    你的问题其实在现实中使用到的机会不是很大,因为a、b2个表凑合的条件不存在,没有实际意义!其实解决问题的办法非常多的,触发器是一种,使用存储过程一块处理是一种。当然还有其他办法但最基本的是,你必须先处理你操作的系统的业务流程。应该说,一个表不只竟竟是存放一些内容。还要关心内容的有效性。
      

  3.   


    insert into b (column1,column2,username)
    select 值1,值2,username from a
      

  4.   

    关系型数据库,无关系无意义! 貌似这两个表没有任何关系! 比如 a表中有两条数据库 a和b,,你插入b表的时候 column1,column2,username  这里的 username 是 a 还是 b 不知道! unknown
      

  5.   

    ----insert into插入不同表时列数必须相同的。
    insert into b (column1,column2,username)
    select col1,col2,username from a
      

  6.   

    你这需求是不合理的,会出现很多问题。。比如说。你a表中有3条数据,你在b表中添加一条数据的时候。你到底选a表的那一条数据的username值插到b表呢。。根据三范式建表结构是关键。祝你再分析分析后。重建表关系