没细看,如果你觉得Oracle的Create table xxx as select × 搞不定,那就得另选办法了。

解决方案 »

  1.   

    INSERT INTO pd_users
      (id, uname, sfzh, age, sex, contact_way, dept_name, create_time, product_type)
    VALUES
      (seq_test.nextval,
       (SELECT uname FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh)),
       (SELECT sfzh FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh)),
       NULL,
       (SELECT sex FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh)),
       (SELECT contact_way FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh)),
       (SELECT pd_dept.dept_name FROM pd_dept WHERE pd_dept.deptno in (SELECT seller2.dept FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh))),
      (SELECT create_time FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh)),
       (SELECT pd_product.product_type FROM pd_product WHERE pd_product.id in (SELECT product_id FROM seller2 WHERE EXISTS (SELECT 1 FROM seller1 WHERE seller2.sfzh = seller1.sfzh)))
       )自己弄了个,where条件好多一样的,怎么弄到一起
      

  2.   

    楼主 。你结果有问题。建表的时候没有建索引,pd_users的第二条数据的id是怎么加的,第二条数据的dept_name是管理部不该是销售部额。
      

  3.   


    感觉楼主应该用  
    select seq_test.nextval,seller2.uname  ...... 
     from  seller1,seller2,seller3 where  seller2.sfzh=seller1.sfzh
    seller3.sfzh=seller1.sfzh
    into pd_users个人感觉这个比你直接写个 insert的语句要好