我有以下sql,它返回我正确需要的记录。
INSERT INTO Historic
SELECT * FROM current
LEFT JOIN Historic ON (current.aptdat = Historic.aptdat)
AND (current.ordnum = Historic.ordnum)
AND (current.type = Historic.type)
AND (current.itmcod = Historic.itmcod)
WHERE (Historic.aptdat & Historic.ordnum & Historic.type) Is Null
AND current.ordnum is not null;
问题是当我尝试将其作为追加查询运行时,我收到错误**
重复输出目的地' APTDAT'
**
我缺少什么?
PS:代码的最后一行是为了确保来自'当前'的记录。 table,它是一个链接的Excel工作表,如果它们只包含空行,则不会返回。不包括该行意味着返回800行,但只有3行包含数据!
欢呼声
答案 0 :(得分:1)
SELECT *
给出FROM子句中所有表的所有列。因此,您也会获得Historic
的所有列,并且由于此列也有aptdat
列,因此您会收到错误。
解决方案:使用<table>.*
INSERT INTO Historic
SELECT current.* FROM current
LEFT JOIN Historic ON ...