두개의 테이블이 있습니다.
M10 과 S10 는 Code와 M10Code 라는 필드로 연결되어있습니다.
문제는 S10의 자료가 중복되어서 날자값이 최대인것을 join하려하는데 에러가 나네요...
Select M.*,S.YMD
From M10 M
Left Outer Join ( select m10code,max(ymd) from sa10 group by m10code ) s
-- left outer join ( select m10code,ymd from sa10) s
on m.code = s.m10code
에러내용 :
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
no column name specified for column number 2 in derived table S.
그래서 Group By 절을빼고 하면 자료가 중복되게 나옵니다.
Select M.*,S.YMD
From M10 M
Left Outer Join ( Select m10code,ymd from sa10) s
on m.code = s.m10code
파이어버드가 조인시 Group By절이 안먹는것같지는 않는데.. 뭐 잘못 한것일까요?
참고로 이것은 까막님이 비슷한 답변을 주신것을 찾았는데... 제가 쓴구문과 틀린점을 찾을수가 없네요...
==================================================================================
SELECT T1.*
FROM TBL T1
INNER JOIN (SELECT Tid ,MAX(Value2) Value2
FROM TBL
GROUP BY Tid
) T2
ON (T1.Tid = T2.Tid AND
T1.Value2 = T2.Value2)
===================================================================================
|