FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[4093] Re:Join 시 Group By 절 에러...
까막.윤창희 [ggamagui] 6625 읽음    2011-03-21 16:27
성낙균 님이 쓰신 글 :
: 두개의 테이블이 있습니다.
:
: 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) 
: ===================================================================================

안녕하세요. 까막입니다.

에러 메세지에 답이 보이는데요..
컬럼 넘버 2의 컬럼명이 구체적으로 없다.. 라는 뜻으로 해석이 되네요.

select m10code,max(ymd) from sa10 group by m10code
이걸
select m10code,max(ymd) ymd from sa10 group by m10code
라고 해주시면 되겠네요.

MAX 를 써서 해당 컬럼에 어떠한 조작을 가했으므로 그 이름을 다시 정의를 해줘야 하는 거죠.
어떤 경우이든 컬럼 그대로 사용한게 아니라면 그 이름은 다시 정의를 해줘야 합니다.



                                                                     혼이 살아 있을까.... 대한민국.

+ -

관련 글 리스트
4092 Join 시 Group By 절 에러... 성낙균 3163 2011/03/20
4093     Re:Join 시 Group By 절 에러... 까막.윤창희 6625 2011/03/21
4095         감사합니다~ 성낙균 2323 2011/03/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.