감사드립니다.
까막님의 말씀대로 위의 쿼리문에서의 오류가 아니었구요, 위의 쿼리를 실행하는 데이타셋 콤포넌트의 속성중
RefreshSQL의 쿼리문에 테이블 알리아스를 주지 않고 발생한 에러였습니다.
인터베이스에서는 문제가 없었는데 파이어버드에서는 좀 더 명확한 문법을 요구하는가 봅니다.
오류를 찾도록 힌트를 주신 까막님께 감사를 드립니다. 행복한 주말 되세요...~^^~
까막.윤창희 님이 쓰신 글 :
: 고영호 님이 쓰신 글 :
: : 안녕하세요?
: :
: : 인터베이스6을 사용하다가 Firebird 1.x로 교체해서 사용하는중에 아래와 같은 에러가 나타납니다.
: : 인터베이스6을 사용했을때는 문제가 없었거든요.
: :
: : 쿼리문은 다음과 같구요(ACT2, CUSTCAR 테이블을 조인),
: : Select A.*, C.CarName, C.HandNo From ACT2 A LEFT OUTER JOIN CUSTCAR C ON
: : A.CARNO=C.CARNO Where A.INday >='2009-12-03' And A.INday<='2009-12-03' Order by
: : A.INday DESC, A.IPNO DESC
: :
: : 위의 쿼리를 실행했을때 다음과같은 에러가 발생합니다.
: : Dynamic SQL Error
: : SQL error code=-204
: : Ambiguous field name between table ACT2 and table CUSTCAR CARNO
: :
: : 어떻게 해결해야 할까요?
:
: 안녕하세요. 까막입니다.
:
: 오류 자체는 CarNo 라는 필드가 Act2 와 CustCar 두 테이블에 모두 존재해서,
: 어떤 테이블의 CarNo 필드를 가리키는 것인지 모호하다는 거고요.
:
: 위 쿼리 구문상으로는 오류가 날 이유가 없어 보이는데요.
: 위 쿼리를 복사해서 그대로 실행했을때도 오류가 나는 것인가요?
:
: 위 쿼리가 전체 쿼리가 아니거나, 같은 테이블을 사용하는 다른 쿼리에서
: 테이블 알리아스(A, C) 를 주지 않고 CarNo 라는 필드를 사용해서 발생하는 문제로 추측됩니다.
:
:
:
: 혼이 살아 있을까.... 대한민국.
|