0
我正在做INSERT-SELECT
。有两个表是这样的:在存储过程中,如何通过检查目标表来插入月份和年份唯一的记录?
DATE Value
1/23/2013 x
2/12/2013 y
3/15/2013 z
目的地:
DATE Value
1/13/2013 xx
3/20/2013 xx
3/12/2014 xx
2013年3月存在,所以我只需要插入 - 2月的记录。
我正在做INSERT-SELECT
。有两个表是这样的:在存储过程中,如何通过检查目标表来插入月份和年份唯一的记录?
DATE Value
1/23/2013 x
2/12/2013 y
3/15/2013 z
目的地:
DATE Value
1/13/2013 xx
3/20/2013 xx
3/12/2014 xx
2013年3月存在,所以我只需要插入 - 2月的记录。
根据你如何得到数据,下面的内容会起作用。 WHERE
子句是什么很重要
INSERT INTO destination (date, value)
SELECT date, value
FROM currenttable
WHERE CAST(month(dpartdate) AS VARCHAR)+'/'+CAST(year(dpartdate) AS VARCHAR) NOT IN (
SELECT CAST(month(dpartdate) AS VARCHAR)+'/'+CAST(year(dpartdate) AS VARCHAR)
FROM destination)
我认为你的意思是你的子查询使用'目的地'表,而不是'currenttable'? – RBarryYoung 2013-02-25 17:59:43
你如何配合月份和年份? – Kyle 2013-02-25 18:14:23
@KKKKKKKK是否在列中使用了'datetime'或'timestamp'数据类型?我已经更新了我的答案,希望能够解决您的问题。 – 2013-02-25 18:19:28