首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在线求解答 向一个表中安插另一张表并剔除重复数据

2013-09-05 
在线求解答 向一个表中插入另一张表并剔除重复数据INSERT INTO REPORTING_PROGRESS(LEDGERS_DATE,DEPT_ID,

在线求解答 向一个表中插入另一张表并剔除重复数据
INSERT INTO REPORTING_PROGRESS(LEDGERS_DATE,DEPT_ID,REPORT_ID ,FLAG,REMARK) 
 SELECT case report_type when '1' then '2014年'
                         when '2' then '2014年1季度' 
                         when '3' then '2014年01月' 
                         end as LEDGERS_DATE,DEPT_ID = '330000',ID as REPORT_ID,FLAG = '0',REMARK from CODE_REPORT

要插如的内容是:

2014年      | 330000 | no1 | 0 | 1
2014年1季度 | 330000 | no2 | 0 | 2
2014年01月  | 330000 | no3 | 0 | 3

现在 REPORTING_PROGRESS 这张表里面已经有
2014年      | 330000 | no1 | 1 | 1
这条记录,求指教怎么 剔除插入内容中的这条相似记录而保证插入成功啊
[解决办法]

INSERT INTO 
 REPORTING_PROGRESS(LEDGERS_DATE,DEPT_ID,REPORT_ID ,FLAG,REMARK) 
SELECT
 case report_type when '1' then '2014年'
                  when '2' then '2014年1季度' 
                  when '3' then '2014年01月' 
                  end as LEDGERS_DATE,
                  DEPT_ID = '330000',ID as REPORT_ID,FLAG = '0',
                  REMARK 
from 
  CODE_REPORT T
Where 
  not exists(select 1 from REPORTING_PROGRESS where LEDGERS_DATE=t.LEDGERS_DATE and DEPT_ID=t.DEPT_ID and  REPORT_ID=t.REPORT_ID)

热点排行