Q&A

  • 다시 질문드립니다..이강석님 비롯..고수님들 다시 봐주세요..!!
                                                                                  
음..제가 질문이 좀 허술했네요..죄송..- -;;                                        
제가 하고 싶은것은..                                                              
A일때의 합..B일때의 합..C일때의 합..D일때의 합.. 그리고 그외 일때의 합..          
이렇게 구하고 싶거든요...                                                          
                                                                                  
그래서 SQL문을..                                                                  
                                                                                  
select sum(decode(substr(code,1,1),'A', amount)) A,                                
       sum(decode(substr(code,1,1),'B', amount)) B,                                
       sum(decode(substr(code,1,1),'C', amount)) C,                                
       sum(decode(substr(code,1,1),'D', amount)) D                                
from account                                                                      
where date BETWEEN '20030501' and '20030530'                                      
                                                                                  
위와 같이 만들었는데..                                                            
A,B,C,D가 아닐때의 합을 어떻해 구해야 될지 몰라서요..                              
질문이 엉성했던 점 용서하시고..                                                    
다시 한번 봐주세요..                                                              
4  COMMENTS
  • Profile
    이강석 2003.05.07 01:02
    안녕하세요...
    아..그 질문입니까?
    허걱.,...

    select
            sum(case when substr(code,1,1) = 'A' then amount else 0),
            sum(case when substr(code,1,1) = 'B' then amount else 0),
            sum(case when substr(code,1,1) = 'C' then amount else 0),
            sum(case when substr(code,1,1) = 'D' then amount else 0),
            sum(case when (substr(code,1,1) <> 'A'
                                and substr(code,1,1) <> 'B'
                               and substr(code,1,1) <> 'C'
                               and substr(code,1,1) <> 'D') then amount

    참고로 이건 SQL서버에서의 쿼리입니다..
    오라클 함수가 기억이 안나서리..
    아마 비스무리 하겠져..case when만 오라클로 바꾸어 주면 되니깐..
    이렇게 조건을 주어도 되더군요..
    ^^
    오라클은 하도 해본지 오래되서 생각이 안나네요..
    죄송합니다...

    다른 분것도 봤는데..
    그것도 한 방법이긴 하지만..
    약간 문제 있을거 같아...더럽더라도 저렇게 비교합니다..
    즐코



  • Profile
    초보 2003.05.07 01:59
    oracle 8부터 case 문이 된다고 하셨는데..
    제가 orcle 8i를 쓰는데 case문이 안듣네요..
    그래서 마지막에 알려주신 decode 문쓰는 걸로 했습니다..
    어찌 됐든.. 두분 정말 감사합니다..
    큰 도움이 됐습니다...~~!!
  • Profile
    김경록 2003.05.07 02:04
    제가 Query를 잘못 썼나?
    흠..
    테스트를 못해봐서리..
    확신은 못해드리겠지만.. 우쨌든.. Case문은 되는데..


  • Profile
    김경록 2003.05.07 00:51
    select sum(decode(substr(code,1,1),'A', mount))    A,
              sum(decode(substr(code,1,1),'B', Amount)) B,
              sum(decode(substr(code,1,1),'C', amount)) C,      
              sum(decode(substr(code,1,1),'D', amount)) D,
              SUM(CASE WHEN SUBSTR(CODE,1,1) > 'D' WHEN AMOUNT END) E
    from account                                                                      
    where date BETWEEN '20030501' and '20030530'                                      


    위와 같이 하면 어떨까여?
    꼭 DECODE를 사용하지 않아도 될듯..

    밑에 질문 보니까..
    다른게 있네염..
    A,B,C,D가 아닌거 전부 Sum하는거져?

    select sum(decode(substr(code,1,1),'A', mount))    A,
              sum(decode(substr(code,1,1),'B', Amount)) B,
              sum(decode(substr(code,1,1),'C', amount)) C,      
              sum(decode(substr(code,1,1),'D', amount)) D,
              SUM(CASE WHEN SUBSTR(CODE,1,1) not in ('A', 'B, 'C', 'D') WHEN AMOUNT END) E
    from account                                                                      
    where date BETWEEN '20030501' and '20030530'                                      

    요렇게도 가능함..  달랑 1줄..  쿄쿄..
    CASE WHEN문은 표준 SQL문으로 현재는 사용되고 있어서..
    아마 다 될껍니다..
    Oracle은 8부터
    MS-SQL은 7부터 아마 될겁니다..
    뒤의 질문을 보지 않았따면..
    해당 질문만 보고 해단 답변만 드렸을지도 모르겠네여..

    혹시 꼭 Decode를 고집하시겠다면..
    요렇게 해도 됩니다..

    select sum(decode(substr(code,1,1),'A', mount))    A,
              sum(decode(substr(code,1,1),'B', Amount)) B,
              sum(decode(substr(code,1,1),'C', amount)) C,      
              sum(decode(substr(code,1,1),'D', amount)) D,
              SUM(DECODE(SUBSTR(CODE,1,1), 'A', 0,
                                                                , 'B', 0,
                                                                , 'C', 0,
                                                                , 'D', 0,
                                                                AMOUNT)) E
    from account                                                                      
    where date BETWEEN '20030501' and '20030530'                                      




    • 이강석
      2003.05.07 02:53
      안녕하세요.. 저 델파이는 잘 하는 사람아닙니다.. 아니구요... 책이름... http://www.wowbook.com/com...
    • 박민영
      2003.05.07 03:03
      답변 감사드립니다. ^-^* 근데.... Delphi 5 CONTACT <-- 이 책 절판되어버렸네요 ^^a 그래서&nbs...
    • 이강석
      2003.05.07 03:36
      그 책이 절판이라고요... 쩌업...글쿠나... 제것을 드릴수도 엄는 형편이라서.. 델파이 책은 대림출판사...
    • 김정은
    • 2003.05.07 02:18
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김주
      2003.05.07 07:23
      저도 초보지만 님의 글을 보니 30일전 생각이 나는군요... 그래서 몇자 적어봅니다. 우선 님의 경우 공...
    • 김정은
      2003.05.07 18:30
      이렇게 까지 신경써주는 분이 계실줄은  T^T 감동 입니다... 정말 감사합니다.
    • 이강석
      2003.05.07 02:41
      먼저 안녕하세요!!! 이론적으로 이야기하자면... 제 생각이지만...특정플금에서 화일(이것두 시스템에서 ...
    • 김경록
      2003.05.07 01:45
      Table 한개 만드시구여.. 간단히 접속자 명단을 만드세염.. 물론, 세션ID도 가져올 수 있으니.. 고것도 ...
    • 조경모
      2003.05.07 02:07
    • 김경록
      2003.05.07 01:37
      간단한 책을 하나 사 보심이 어떠실듯... 아참.. 그리고 답변은 드려야져.. 메뉴는 메뉴 컴포넌트를 ...
    • 이강석
      2003.05.07 01:25
      일단 폼위에... 스탠다드 컴포넌트에 보면... 메인메뉴라고 있습니다.. 그걸 올려놓으신 후.... 더블 ...
    • 스말(^___^)
      2003.05.07 03:28
      스말
    • 김경록
      2003.05.07 00:46
      원래는 해당 Key를 검색하셔야 합니다. (ADOQuery를 사용해서..) 이것이 정확한 방법입니다.. 만약 해...
    • 김훈배
    • 2003.05.07 00:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2003.05.07 00:19
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이강석
      2003.05.07 01:02
      안녕하세요... 아..그 질문입니까? 허걱.,... select       &nbs...
    • 초보
      2003.05.07 01:59
      oracle 8부터 case 문이 된다고 하셨는데.. 제가 orcle 8i를 쓰는데 case문이 안듣네요.. 그래서 마지막...
    • 김경록
      2003.05.07 02:04
      제가 Query를 잘못 썼나? 흠.. 테스트를 못해봐서리.. 확신은 못해드리겠지만.. 우쨌든.. Case문은 되는...
    • 김경록
      2003.05.07 00:51
      select sum(decode(substr(code,1,1),'A', mount))    A,     &...
    • 푸우미
      2003.05.07 18:25
      MDB에서의 단점은 알고 계신거져.. MDB 같은 경우 여러 사람이 사용할 경우 DB lock이 잘 걸립니다. 델파...
    • 이강석
      2003.05.07 03:01
    • 김경록
      2003.05.07 00:55
      무료를 원하신다면, 약간 불편해도 MySQL을 추천하며, 무료가 아니면서, 가격대 성능비를 원하시면, MS-...
    • 배영철
      2003.05.07 01:46
      네 고맙습니다.^^ 운영체제는 windows98/ 2000/ xp용으로 하려고 생각합니다. mdb를 생각했는데.. 검...
    • 김경록
      2003.05.07 02:32
      C/S(Client/Server) 환경이 아니라는 말씀처럼 들리네염.. 전.. 여러명이 사용한다길래.. c/s용으로 판...
    • 김경록
      2003.05.07 01:11
          TR_5005_REPEAT_STRUCT = Packed Record        ...
    • 김경록
      2003.05.07 02:03
      Array of TR_5005_REPEAT_STRUCT 요부분이 선언이 안되신다구여? 이겅.. 어떻하나.. 그럼.. 이렇게도...
    • 최용일
      2003.05.07 00:15
      안녕하세요. 최용일입니다. 코딩에 문제가 있어 보이진 않는데요... Array of TR_5005_REPEAT_STRUCT...
    • 김경록
      2003.05.07 00:38
      아마 있을겁니다.. 제가 삭제하지 않았으니까여..  *^^*
    • 이강석
      2003.05.06 23:39
      안녕하세요..? 우선 결론부터 이야기하면.. 여러가지 방법이 있겠지만.. 그중에서 레지스트리에 저장하...
    • 박민영
    • 2003.05.06 22:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이강석
      2003.05.06 22:43
      먼저 안냐세요..? 저도 접한지 오래됬지만...잘 모르는 넘입니다.. 하지만 입문서라면.. 'Delphi6...
    • 날나리
      2003.08.12 23:15
      다음과 같이 하시면 3번째 줄 전체를 선택하신 예쁜 색으로 바꿔줍니다... if ARow = 3 then begin &nb...
    • 최용일
      2003.05.06 22:29
      안녕하세요. 최용일입니다 특정셀이 선택되어 졌을때 StringGrid1.Invalidate를 호출해보세요. 그럼 다...
    • 뭉치
    • 2003.05.06 21:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.05.19 20:35
      $FF아닌가요? 16진수값이여.. 이런거라면, Chr함수를 사용하면 되는데여.. #$FF이런값이 있나요?
    • Formas
    • 2003.05.06 21:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2003.05.06 21:02
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2003.05.07 00:59
      질문내용이 이해할 수 있는 정도의 자세한 내막이 없는듯 하네여.. 일단.. 이렇게 하셔야 합니다.. (의...
    • 이강석
      2003.05.06 22:06
      안냐세요..? 조건을 말씀하시는 거라면..... select * from account where (코드1 <> 'A') and (...
    • 정수지
    • 2003.05.06 20:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 몽상
      2003.05.07 00:29
      일부분만 변환한다면.. 브리프케이스 모델이 가장 좋은 방법이네요.. 핵심이 되면 코드는 저장할...
    • 몽상
      2003.05.06 23:57
      mdb를 꼭 파라독스 디비로 만들어야 한다면..필요한것만 변환하는가요?. 아니면 전부를 변환하는 가요? ...
    • 최학현
    • 2003.05.06 20:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2003.05.06 22:20
      검색해서 LocalIP를 찾아오는 소스를 보셨다고 했죠? 거기를 좀 더 보시면, LocalIP를 가져올때 어떤 배열...
    • 노랑이
    • 2003.05.06 20:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.05.06 22:25
      안녕하세요. 최용일입니다. 연결 프로그램 등록하시려는 것 같은데... %n은 파라매터입니다. 탐색기...
    • 노랑이
      2003.05.06 22:42
      %1 이 없을때 프로그램이 제대로 실행이 안되서 한참 고민했었는데... ^^ 고맙습니다.