--导入数据
insert into shengchandan_master
(业务单号,生产单号)
select distinct 业务单号,生产单号 from yewudan_Master
where (业务单号,生产单号) in (select 业务单号,生产单号 from shengchandan_master)如上,我想从yewudan_Master向shengchandan_master表中增加数据,前提是shengchandan_master中已经没有业务单号和生产单号的组合了。
可是上面的代码不成功。
好象where子句中只能写一个字段。
那么如何实现我的要求呢?

解决方案 »

  1.   

    where (业务单号,生产单号) in (select 业务单号,生产单号 from shengchandan_master)
    这样写为何报错呀。应该如何写代码
      

  2.   

    用AND关键字来实现你的查询吧,插入前判断一下那些数据存不存在。LZ自己把它搞复杂了。select a,b from A where a=A.a AND b=A.b
    判断结果是否空。为空就插入,否则跳过阿。
      

  3.   

    建议,如果数据不多,写个cursor 判断!
      

  4.   

    in 子句的语法再看看,你的写法肯定是不对的。
    可以考虑用cursor 来做。
      

  5.   

    insert into shengchandan_master
    (业务单号,生产单号)
    select distinct 业务单号,生产单号 from yewudan_Master t
    where not exist (select 1 from shengchandan_master where 业务单号=t.业务单号 and 生产单号=t.生产单号)
      

  6.   

    楼上方法不错,以下方法也行呀:insert into shengchandan_master
    (业务单号,生产单号)
    select distinct 业务单号,生产单号 from yewudan_Master
    where (isnull(业务单号,'')+isnull(生产单号,'')) not in 
    (select isnull(业务单号,'')+isnull(生产单号,'') from shengchandan_master)
      

  7.   

    insert into shengchandan_master
    (业务单号,生产单号)
    select distinct 业务单号,生产单号 from yewudan_Master
    where (业务单号+生产单号) in (select 业务单号+生产单号 from shengchandan_master)