例子:
A表:
a1   b1   c1   d1    e1    f1
1    4     3    2     2     1
2    2     3    2     3    null
3    5     3    2     1     1
4    1     3    2     2     2
5    2     1    2     1    nullB表:
a2   b2   c2(全等于0)   d2    e2    f2想要把A表中C1=3的行全部插入到B表中,B表的C2列的值全是0,插入到f2的值若有NULL则转化为0.请高手指教.谢谢.

解决方案 »


  1. INSERT INTO B(A2,B2,C2,D2,E2,F2)
    SELECT A1,B1,0,D1,E1,NVL(F1,0) FROM A WHERE C1=3
      

  2. insert into b(
    a2  ,b2  ,c2  ,d2    ,e2    ,f2 
    )
    select a1  ,b1  ,0  ,d1    ,e1    ,nvl(f1,0)
    from a
    where c1=3 
      

  3. insert to b  select a1,b1,0,d1,e1,nvl(f1,0) from a where c1=3;
      

  4. insert into B
      select a1, b1, 0, d1, e1, nvl(f1)
        from A;
      

  5. INSERT INTO B(A2,B2,C2,D2,E2,F2)
    SELECT A1,B1,0,D1,E1,NVL(F1,0) FROM A WHERE C1=3
      

类似问题 »