日期:2014-05-18  浏览次数:20568 次

如何这样导入数据,判断两列如果相同就不导入了。
--导入数据
insert   into   shengchandan_master
(业务单号,生产单号)
select   distinct   业务单号,生产单号   from   yewudan_Master
where   (业务单号,生产单号)   in   (select   业务单号,生产单号   from   shengchandan_master)

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

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

------解决方案--------------------
楼上方法不错,以下方法也行呀:

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

------解决方案--------------------
insert into shengchandan_master
(业务单号,生产单号)
select distinct 业务单号,生产单号 from yewudan_Master
where (业务单号+生产单号) in (select 业务单号+生产单号 from shengchandan_master)