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

FireBird Q&A
[2763] Re:Re:group by
현쓰 [clench] 2417 읽음    2008-03-27 16:58
제로보드에 Firebird 핸들러 추가 중입니다.
저 쿼리는 게시물을 태그로 검색하는 쿼리이고요.
검색 키워드에 의해서 한개의 게시물이 여러개로 select 될 가능성이 있어서
group by를 이용해 여러개로 검색된 게시물을 하나로 만들어 주려는 목적인것 같습니다.
제가봐도 그리 좋은 쿼리같지는 않습니다.

이 쿼리를 고치려면 제로보드 개발자들과 상의를 해봐야 해서 어떻게 해야 효율적인가 생각 중입니다.

예를들면

게시물번호      태그
1                     태그1,태그2,태그3
2                     태그1
3                     태그2

이렇게 데이터가 있을때 "태그"라는 단어로 검색을 하게 되면

1                     태그1,태그2,태그3
1                     태그1,태그2,태그3
1                     태그1,태그2,태그3
2                     태그1
3                     태그2

이렇게 select 되게끔 돼있습니다.
이것을 게시물번호로 group by 해서 중복된 것을 제거 하는 역할로 사용합니다.

civilian 님이 쓰신 글 :
: GROUP BY 함수를 쓰면서 select 절에 그 많은 필드가 왜 필요한가요?
:
: group by는 계산함수에 의해 처리된 값을 group화 합니다.
:
: 쿼리에서 얻으려는 결과가 무엇인가요?
:
: 그리고 documents와 tags 테이블간의 join에 대한 어떤 조건도 보이지 않는데
:
: 이것도 좀 이상하고....
:
: 현쓰 님이 쓰신 글 :
: : 아래 쿼리가 동작되게 하려면 어떻게 해야 할까요?
: : select 할 필드가 "documents".* 이라 group by 시 문제가 되는것 같습니다.
: : group by에 필드를 모두 적어주면 동작을 하겠지만...
: : 필드가 53개인데 다 적어서 해봤는데... 오류메세지도 안나오고 결과물도 안나옵니다.
: : 이런 경우 어떻게 처리 하나요?
: :
: : SELECT FIRST 20 SKIP 0
: :     "documents".*
: : FROM
: :     "xe_documents" as "documents",
: :     "xe_tags" as "tags"
: : Where
: :     ("documents"."module_srl" in (58) and
: :     "documents"."document_srl" = "tags"."document_srl"
: :     and "tags"."tag" like '%%') and
: :     "documents"."list_order" < 2100000000
: : GROUP BY
: :     "documents"."document_srl"
: : ORDER BY "documents"."list_order" asc
: :
: : 위 쿼리 실행시 오류 메세지
: : SQL error code = -104.
: : Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).

+ -

관련 글 리스트
2761 group by 현쓰 2645 2008/03/27
2762     Re:group by civilian 3463 2008/03/27
2763         Re:Re:group by 현쓰 2417 2008/03/27
2764             Re:Re:Re:group by civilian 3001 2008/03/27
2765                 Re:Re:Re:Re:group by 현쓰 3184 2008/03/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.