现在需要从一个数据表选取一些数据然后插入到另一个数据表,比如如下的语句:INSERT INTO TA (TA1,TA2,TA3) SELECT TB1,TB2,TB3 FROM TB WHERE ...现在具体的我的问题是,其中TA1,TA2需要的内容不是来自TB的TB1,TB2,而是常量。比
如说新记录的TA3的内容来自TB3,但是新记录TA1的内容全部等于“TA1”,TA2的内容全
部等于“TA2”。那么这个SQL语句怎么写?

解决方案 »

  1.   

    INSERT INTO TA (TA1,TA2,TA3) SELECT 常量1,常量2,列名3 from tb....
      

  2.   

    To qianjin036a
    问题就是这个常量怎么写法?你可以用字符串常量“TA1”和整数常量100,给我一个例子么?
      

  3.   

    还以为你是说看到你朋友也来csdn呢
      

  4.   

    你这个斑竹也太尽职了吧,中秋都要CSDN上加班
      

  5.   

    打住了,楼主郁闷了,帮他解决问题。楼主,你可以这样写:
    INSERT INTO TA (TA1,TA2,TA3) 
    SELECT 
        100,         --这里是常量整数
        'TB2',       --这里是常量字符串
        TB3          --这里是列TB3来自TB表
    FROM TB WHERE
      

  6.   

    字串常量就用單引號,數字常量該怎麽寫怎麽寫。
    這個是MSSQL目前的寫法,不一定支持所有數據庫!
      

  7.   

    select tb1,tb2,tb3 into ta from tb where .....
      

  8.   

    select tb1,tb2,tb3 into ta(ta1,ta2,ta3) from tb where 限制条件
      

  9.   

    你可以用一条添加语句一条更新语句啊!!
    比如:
    INSERT INTO TA (TA3) SELECT TB3 FROM TB WHERE ... update TA SET TA1='TA1',TA2='100'FROM TA WHERE......
      

  10.   

    insert into TA(T1,T2,T3) select 1,'aaa',TB3 from TB where...
    这样就可以了.只要你把常量放在相应位置上,select返回的就是这个常量值.