2017-04-20 2 views
0

누구나 다음 쿼리가 매개 변수 값을 묻는 이유를 알 수 있습니다. 와 같이 @WEI_DBA 테이블에 잘못된 참조하여 지적 하듯이매개 변수 값

SELECT [BILLING_REJECTS_orig].[ORG NBR] AS BK, 
    [BILLING_REJECTS_orig].[ACCOUNT NUMBER] AS ACCT, 
    [BILLING_REJECTS_orig].APPL AS AP, 
    [BILLING_REJECTS_orig].[ACCOUNT NAME] AS [ACCT NAME], 
    [BILLING_REJECTS_orig].[TMO NAME], 
    IIf(Len(DatePart("m", [BILLING_REJECTS_orig]![REPORT DATE])) = 1, Year([BILLING_REJECTS_orig]![REPORT DATE]) & "-" & "0" & Month([BILLING_REJECTS_orig]![REPORT DATE]), Year([BILLING_REJECTS_orig]![REPORT DATE]) & "-" & Month([BILLING_REJECTS_orig]![REPORT DATE])) AS [ACTIVITY MONTH] 
INTO Billing_Rejects_Orig 
FROM dbo_BILLING_REJECTS_DEPT, 
    TM_Report_Date 
WHERE (
     ((Year([Billing_Rejects_Orig]![REPORT DATE])) = Year([TM_Report_Date]![Report_Date])) 
     AND ((Month([Billing_Rejects_Orig]![REPORT DATE])) = Month([TM_Report_Date]![Report_Date])) 
     ); 
+2

'BILLING_REJECTS_orig'이 아닌'dbo_BILLING_REJECTS_DEPT'에서 필드를 선택하면 안됩니다. 내가 뭔가를 놓치지 않는 한. –

+0

고마워, JNevill, - 나는 그렇게 생각하지 않는다. 그래서 이것은 Access db에 있습니다. dbo_BIlling_rejects_DEPT는 SQL server db에 연결된 테이블입니다. 액세스 데이터베이스에있는 BILLING_REJECTS_orig라는 테이블을 업데이트하려고합니다. 응답에 다시 한 번 감사드립니다. – user2225470

+0

당신이 옳습니다. 감사합니다! – user2225470

답변

1

이 테이블 별칭을 사용하는 것이 좋습니다 : 그것은에서 잡아 당겨 어디 '에서'데이터 테이블을 채우는 그것은해야한다 (또는 적어도 내가 원하는) bt. 이것은 SQL 코드를 줄이고 같은 구조화 된 테이블을 가정 할 때 쿼리의 전체 다시 쓰기없이 FROM 또는 JOIN 절의 테이블 이름을 전환 할 수 있으므로 유지 관리에 유용한 도구입니다.

특히 다른 RDBMS (SQL Server, MySQL 등)와 전환 할 수 있고 때때로 프로토 타입 작성에 사용할 수있는 기본 백엔드 데이터베이스 (Jet/ACE) 인 경우 테이블 별칭을 사용하면 두 링크간에 및 로컬 테이블.

SELECT b.[ORG NBR] AS BK, 
     b.[ACCOUNT NUMBER] AS ACCT, 
     b.APPL AS AP, 
     b.[ACCOUNT NAME] AS [ACCT NAME], 
     b.[TMO NAME], 
     IIf(Len(DatePart('m', b.[REPORT DATE])) = 1, 
      Year(b.[REPORT DATE]) & '-' & '0' & Month(b.[REPORT DATE]), 
      Year(b.[REPORT DATE]) & '-' & Month(b.[REPORT DATE])) AS [ACTIVITY MONTH] 
INTO Billing_Rejects_Orig 
FROM dbo_BILLING_REJECTS_DEPT b, 
    TM_Report_Date t 
WHERE (
     ((Year(b.[REPORT DATE])) = Year(t.[Report_Date])) 
    AND ((Month(b.[REPORT DATE])) = Month(t.[Report_Date])) 
    );