2015-11-04 3 views
0

У меня есть следующий sql, который возвращает нужные мне записи.Ошибка Microsoft Access 2010 Append

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: последняя строка кода предназначена для обеспечения записи из текущей таблицы, которая является связанным листом excel, не возвращается, если они содержат только пустые строки. Не считая строки, возвращается 800 строк, но только 3 содержат данные!

веселит

ответ

1

SELECT * дает все столбцы всех таблиц в предложении FROM. Таким образом, вы также получаете все столбцы Historic, и так как это также имеет столбец aptdat, вы получаете ошибку.

Решение: Используйте <table>.*

INSERT INTO Historic 
SELECT current.* FROM current 
    LEFT JOIN Historic ON ... 
+0

привет, спасибо за ответ! это сработало :) – Nick

Смежные вопросы