2016-12-21 4 views
0

R 프로그래밍 배경에서 왔지만 지금은 매주 간격으로 CSV 자동화를 위해 SQL을 배워야합니다. 현재 Microsoft Access 2010에서 SQL 모드로 작업하고 있습니다.SQL - SQL 스크립트 실행 날짜가있는 데이터베이스 테이블에 열 추가

기존 테이블의 압축을 풀고 (아래 그림 참조) 필터를 적용한 다음 스크립트가 실행 된 날짜를 보여주는 "Report_Date"라는 제목의 새 열을 추가하고 싶습니다. 다음과 같이

내가 지금까지 가지고있는 코드는 다음과 같습니다

SELECT Activity_Report.* INTO [Weekly Report] 
FROM Activity_Report 
WHERE ((([Activity_Report].[on_date])<DateAdd('m',3,Now()) 
And ([Activity_Report].[on_date])>DateAdd('m',-1,Now()))) 
ALTER TABLE Weekly_Report 
ADD Report DATE; 

이는 ALTER 테이블 함수까지 잘 작동하고 필터링은 성공적이었다. 위의 SQL 스크립트를 실행할 때 다음 오류가 발생합니다.

쿼리 식에 구문 오류 (누락 된 연산자)가 있습니다.

나는이 오류에 익숙하지 않아서 내가 어디에서 코드를 잘못 읽었는지에 대해 많은 도움이 될 것입니다. 감사합니다.

+0

아마도';'변경 쿼리 이전에 – GurV

답변

2

select into의 차이점을 알고 있다고 가정하면 alter table 문을 전혀 필요로하지 않습니다.

당신은 단순히 select의 일환으로 현재 날짜와 시간을 추가 할 수 있습니다

SELECT Activity_Report.* 
     ,Now() AS Report 
INTO [Weekly Report] 
FROM Activity_Report 
WHERE [Activity_Report].[on_date] < DateAdd('m',3,Now()) 
    AND [Activity_Report].[on_date] > DateAdd('m',-1,Now()) 

(나는 또한 액세스가 오히려 좋아 불필요한 괄호를 많이 ... 제거되었다)
+0

그게 더 낫습니다. :) – Andre

+0

고마워요, 훌륭합니다! – George

2

Access에서 한 쿼리에서 두 명령을 실행할 수 없습니다.

먼저 SELECT INTO 쿼리를 실행하십시오.

그런 다음 DDL 쿼리를 실행하십시오.