有一个问题:从Table1中取一行记录写到Table2中,Col2=1,此时中间列、最后列的值是什么,全为空还是要求再从Table1中取值。

解决方案 »

  1.   

    淡然不能全空,要从table中取,
    注意:不是从table1中取,是从table中取。
      

  2.   

    insert into table1
    select t1.*,t2.*,t3.* from 
    (select table.* from table where col2=1)t1,
    (select table.* from table where col2=2)t2,
    (select table.* from table where col2=3)t3
    where t1.col1=t2.col1 and t1.col1=t3.col1
    大致类似于此
      

  3.   

    luoluo_lm(沧泫)  的解法大致上说明了道理,应该是这样子做的,不过我看不出来你这个需求是干什么用的,因为首先你的table里面col2等于1的行肯定不是只有一行,对不对?col2等于2,3,4,5,6的行也是一样,如果按照你所的那样,其实最后你在table1里面将会得到count(col2=1) * count(col2=2) * count(col2=3)这个数量的记录,table2也是一样的, 对不对?
    如果我上面的理解不错的话,你应该参 luoluo_lm(沧泫) 的解法,不过应该在insert语句里面把每一个列都相应的列出来