一般情况下是insert into 表1 select ....现在 在一张表上 同一字段有不同的逻辑操作,一个select解决不了问题了
insert into 表1 (X,Y)
select A from表2 WHERE ...
select A from表2 WHERE....怎么把他们拼接起来呢????

解决方案 »

  1.   

    insert into 表1 (X,Y)
    select A from表2 WHERE ... union all
    select A from表2 WHERE....
      

  2.   

    把两个select union all一下
      

  3.   

    另一种方法:
    insert into 表1(X,Y)
    select decode(col,'值1',A),decode(col,'值2',A)
    from 表2
      

  4.   


    拼接起来没有相应的逻辑关系?如果没有就这样:
    insert into 表1 (X,Y)
    select t1.a,t2.a from
             (select A from表2 WHERE ...) t1,
             (select A from表2 WHERE....)t2
      

  5.   

    楼上的逻辑,是想做笛卡尔积?
    还是用 union all 保险些。
    另外,用 decode 也是一种方法,具体还是要看业务需求了。