Q&A

  • SQL문의 GROUP BY 문....
InterBase에서 SubStr을 사용하기위해 아래함수를 썼습니다



DECLARE EXTERNAL FUNCTION substr

STRING(256), SMALLINT, SMALLINT

RETURNS CSTRING(80) FREE_IT

ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';



SQL문에서 Select이후의 Substr은 잘 작동되는데

왜 Group By절에서는 에러가 나나요



예)실행됨

SELECT SUBSTR(CLOSEDT,1,6), CUSCD, SUM(SAMT) SAMT

FROM FSALE

GROUP BY CLOSEDT, CUSCD





예)실행안됨

SELECT SUBSTR(CLOSEDT,1,6), CUSCD, SUM(SAMT) SAMT

FROM FSALE

GROUP BY SUBSTR(CLOSEDT,1,6), CUSCD





3  COMMENTS
  • Profile
    토맛토 2001.06.27 00:37
    확인하지 않고 쓰는 글이라 장담할 순 없지만 GROUP BY 절에는 함수를 쓸 수 없는 것으로 압니다.

    작성하신 코드와 같이 컬럼에 함수를 쓰는 경우라면 알리아스를 사용하고 그 이름을 써보시면 될 것 같습니다.



    SELECT SUBSTR(CLOSEDT,1,6) SUBCLOSEDT, CUSCD, SUM(SAMT) SAMT

    FROM FSALE

    GROUP BY SUBCLOSEDT, CUSCD



    안되면 어쩌지 -_-;



    아침햇살 wrote:

    > InterBase에서 SubStr을 사용하기위해 아래함수를 썼습니다

    >

    > DECLARE EXTERNAL FUNCTION substr

    > STRING(256), SMALLINT, SMALLINT

    > RETURNS CSTRING(80) FREE_IT

    > ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';

    >

    > SQL문에서 Select이후의 Substr은 잘 작동되는데

    > 왜 Group By절에서는 에러가 나나요

    >

    > 예)실행됨

    > SELECT SUBSTR(CLOSEDT,1,6), CUSCD, SUM(SAMT) SAMT

    > FROM FSALE

    > GROUP BY CLOSEDT, CUSCD

    >

    >

    > 예)실행안됨

    > SELECT SUBSTR(CLOSEDT,1,6), CUSCD, SUM(SAMT) SAMT

    > FROM FSALE

    > GROUP BY SUBSTR(CLOSEDT,1,6), CUSCD

    >

    >

  • Profile
    아침햇살 2001.06.27 03:12
    우선 질문을 읽어주셔서 감사합니다

    제가 사용했다는 함수는 인테베이스에서 SubStr을 사용할수있게 iSQL에서 실행해준

    함수내용이구요

    이렇게 iSQL에서 실행을 한뒤에는 다른 여느DB와 같이(ORACLE)

    SubStr을 사용할수있는걸로 알고 있습니다

    그런데... Group By 절에서만 에러가 나네요 ....



    토맛토 wrote:

    > 확인하지 않고 쓰는 글이라 장담할 순 없지만 GROUP BY 절에는 함수를 쓸 수 없는 것으로 압니다.

    > 작성하신 코드와 같이 컬럼에 함수를 쓰는 경우라면 알리아스를 사용하고 그 이름을 써보시면 될 것 같습니다.

    >

    > SELECT SUBSTR(CLOSEDT,1,6) SUBCLOSEDT, CUSCD, SUM(SAMT) SAMT

    > FROM FSALE

    > GROUP BY SUBCLOSEDT, CUSCD

    >

    > 안되면 어쩌지 -_-;

    >

    > 아침햇살 wrote:

    > > InterBase에서 SubStr을 사용하기위해 아래함수를 썼습니다

    > >

    > > DECLARE EXTERNAL FUNCTION substr

    > > STRING(256), SMALLINT, SMALLINT

    > > RETURNS CSTRING(80) FREE_IT

    > > ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';

    > >

    > > SQL문에서 Select이후의 Substr은 잘 작동되는데

    > > 왜 Group By절에서는 에러가 나나요

    > >

    > > 예)실행됨

    > > SELECT SUBSTR(CLOSEDT,1,6), CUSCD, SUM(SAMT) SAMT

    > > FROM FSALE

    > > GROUP BY CLOSEDT, CUSCD

    > >

    > >

    > > 예)실행안됨

    > > SELECT SUBSTR(CLOSEDT,1,6), CUSCD, SUM(SAMT) SAMT

    > > FROM FSALE

    > > GROUP BY SUBSTR(CLOSEDT,1,6), CUSCD

    > >

    > >

  • Profile
    yosule 2001.06.28 12:43
    아침햇살 wrote:

    > 우선 질문을 읽어주셔서 감사합니다

    > 제가 사용했다는 함수는 인테베이스에서 SubStr을 사용할수있게 iSQL에서 실행해준

    > 함수내용이구요

    > 이렇게 iSQL에서 실행을 한뒤에는 다른 여느DB와 같이(ORACLE)

    > SubStr을 사용할수있는걸로 알고 있습니다

    > 그런데... Group By 절에서만 에러가 나네요 ....

    >

    > 토맛토 wrote:

    > > 확인하지 않고 쓰는 글이라 장담할 순 없지만 GROUP BY 절에는 함수를 쓸 수 없는 것으로 압니다.

    > > 작성하신 코드와 같이 컬럼에 함수를 쓰는 경우라면 알리아스를 사용하고 그 이름을 써보시면 될 것 같습니다.

    > >

    > > SELECT SUBSTR(CLOSEDT,1,6) SUBCLOSEDT, CUSCD, SUM(SAMT) SAMT

    > > FROM FSALE

    > > GROUP BY SUBCLOSEDT, CUSCD

    > >

    > > 안되면 어쩌지 -_-;

    > >





    저두 위의 분과 같은 생각이었는데...안되다고 하시니...쫌 엉뚱하지만...

    매개변수지정 방식에 Call By Reference가 생각나더군요.



    GROUP BY SUBSTR, CUSCD



    이건 될까요? ^^;

    • 초보자
    • 2001.06.27 02:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 파도랑
      2001.12.11 00:38
      Windows2000 프로페셔널, Windows2000 서버, Windows ME 에서 테스트 해봤는데 전혀 사용하는데 문제 없더...
    • 묵혼
      2001.06.27 17:45
      제가 알기로도 폰트문제가 아니면 거의 문제가 없습니다. 그러나 제가 사용해본 결과 퀵레포트에서 사용자...
    • s
      2001.06.27 03:11
      델파이를 잘못 설치했거나 메모리가 부족한 경우 같습니다. DSK 파일과는 관계가 없어요. 아니면 진짜 ...
    • 강호규
      2001.06.27 02:18
      이곳에서 "DSK" 로 검색해 보세요! --------------------------------------------- aparadin wrote: > ...
    • 짱아
    • 2001.06.27 01:35
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 강호규
      2001.06.27 01:42
      안녕하세요? 질문을 자주 올리시는 군요... 이 에러는 메시지에 나온대로 Dataset 이 수정 또는 삽입 모...
    • 짱아
      2001.06.27 01:46
      허걱 ~ 질문 자주올려 죄송해요... 근데요... edit; 를 해줬는데.... ^^;; 강호규 wrote: > 안녕하...
    • 강호규
      2001.06.27 01:51
      소스를 간단히 정리해서 올려주세요. ---------------------------------------------------------- 짱...
    • 짱아
      2001.06.27 04:12
      감사해요... 정말정말 감사해요.. ^^ 해결됐어요.. 덕분에... 근데요.... 강호규 wrote: > 소스를...
    • 초보
    • 2001.06.27 00:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이진수
      2001.06.27 01:15
      Edit17.text := DateToFmt(Query1.fieldByName('insa_ipdate').AsString); 를 Edit17.text := DateToFmt(...
    • 초보
      2001.06.27 01:25
      [Error] U_insa101.pas(792): Incompatible types: 'String' and 'TDateTime'
    • 이진수
      2001.06.27 01:56
      안녕하세요 이진수입니다. Query1.ParamByName('ipdate').AsString := FmtToDate(Edit17.Text); 조...
    • 송병철
      2001.06.27 08:10
      헬프게시판에 나와있던 내용입니다.. 잠시 그내용을 빌려쓰던차에 알려드립니다.. ******************...
    • 강호규
      2001.06.27 01:45
      혹, 이것이 아닌가요? C:Program FilesBorlandDelphi5Bindelphi32.dsk 한번 지워보세요.... ---------...
    • 김동수
      2001.06.27 23:01
      혹시 추가로 콤포넌트를 까셨나여? 그렇지 않고 디폴트로 사용하신다면 환경옵션(인바이런먼트 옵션..영어...
    • 이태성
    • 2001.06.26 23:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이진수
      2001.06.27 00:36
      Ctrl-F9 누르심 됩니다. -_-; 이태성 wrote: > 안녕하세요 > 다름이아니오라 > 비주얼C 나 다른언어...
    • 하기
      2001.06.27 00:12
      F9(Run)을 하시지 마시고 Build를 하시면 되거든요... 그러니까 project에 보시면 아마도 Built all proje...
    • 초보
    • 2001.06.26 23:00
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이진수
      2001.06.27 00:38
      글쎄 TDataBase설정에서 대부분의 경우 제대로 작동을 하지만 님의 경우에는 적당한 Driver Name을 주었는...
    • 초보
      2001.06.27 04:57
      먼저, 메인폼이 있고, 데이터 모듈을 포함하고, 데이터 모듈에서 이렇게 Create Event에 이렇게 작성하고...
    • Burier
    • 2001.06.26 22:41
    • 3 COMMENTS
    • /
    • 0 LIKES
    • s
      2001.06.27 03:09
      CreateProcess로 생성해야 TerminateProcess로 쉽게 죽이죠.. 뭐 꼭 CreateProcess로 생성해야 하는건 아...
    • 토맛토
      2001.06.27 00:40
      TerminateProcess(appHandle,0); 여기서 appHandle은 해당 어플리케이션의 핸들값입니다. Burier wro...
    • 이진수
      2001.06.27 00:40
      실행되고 있는 exe를 FindWindow로 찾으신후 그 핸들에다가 SendMessage로 WM_CLOSE를 날리면 되겠네요 ...
    • 이진수
      2001.06.27 00:41
      음 오픈을 어떤식으로 하시는 지는 잘모르겠지만요 TQuery를 사용해서 원하는 부분만 읽어온다면 좀 빠르...
    • woji
      2001.06.27 01:20
      이진수 wrote: > 음 오픈을 어떤식으로 하시는 지는 잘모르겠지만요 > TQuery를 사용해서 원하는 부분만 ...
    • sunny
    • 2001.06.26 22:06
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이진수
      2001.06.27 00:52
      대충 만들겠습니다. 여기다가 직접 작성하는 거니깐 복사해서 제대로 실행 안된다고 뭐라 하지 마시길 -_-;...
    • 뽀록이
      2001.06.26 22:27
      sunny wrote: > 안녕하세요.... > 텍스트파일을 읽어들여서 특정문자열의 갯수를 알고 싶은데.... -.- >...
    • 토맛토
      2001.06.27 00:37
      확인하지 않고 쓰는 글이라 장담할 순 없지만 GROUP BY 절에는 함수를 쓸 수 없는 것으로 압니다. 작성하...
    • 아침햇살
      2001.06.27 03:12
      우선 질문을 읽어주셔서 감사합니다 제가 사용했다는 함수는 인테베이스에서 SubStr을 사용할수있게 iSQL...
    • yosule
      2001.06.28 12:43
      아침햇살 wrote: > 우선 질문을 읽어주셔서 감사합니다 > 제가 사용했다는 함수는 인테베이스에서 SubStr...
    • aparadin
      2001.06.27 01:00
      초보 wrote: > 예를 들어 주민등록번호 6자리 7자리를 입력할때 > 앞에 6자리가 다차면 자동으로 뒤에 7...
    • 뽀록이
      2001.06.26 22:31
      초보 wrote: > 예를 들어 주민등록번호 6자리 7자리를 입력할때 > 앞에 6자리가 다차면 자동으로 뒤에 7...