Q&A

  • 그리드에 이런 표현을 할 수 있나요?
매출 TABLE에 아래와 같은 내용으로 데이터가 있습니다.

매출구분  물품명                         금액   팀명
=================================================
기타      도자기                     10000000    인터넷팀
기타      물컵                         7272727    인터넷팀
도서      홀긱동전(무통장)        5818183    광고팀
도서      C++                          1389090    광고팀
ARS       대학상담                    609091    광고팀
ARS       증권정보                 90000000    광고팀
ARS       유머                         8000000    광고팀

이걸 아래와 같이 그리드에 표현하는 방법좀 알려주세요
(그리드는 스트링그리드를 써야할지 디비그리드를 써야할지 잘 모르겠어요.어떤걸 써도 상관 없습니다.)

--------------------------------------------------------------
l        매출구분     l         물품명       l      금액         l      팀명      l
--------------------------------------------------------------
l        기타             l         합계           l  17,272,727  l                  l --> 기타 항목의 전체 합계금액 표시
--------------------------------------------------------------
l                             l         도자기       l  10,000,000  l  인터넷팀   l --> 기타의 항목별 금액 표시
--------------------------------------------------------------
l                             l         물컵           l  10,000,000  l  인터넷팀  l
--------------------------------------------------------------
l        도서             l          합계          l  17,272,727  l                  l --> 도서 항목의 전체 합계금액 표시
--------------------------------------------------------------
l                             l          홀길동전  l  10,000,000  l    광고팀    l --> 도서의 항목별 금액 표시
--------------------------------------------------------------
l                             l           C++         l  10,000,000  l    광고팀    l
---------------------------------------------------------------

제발좀 도와 주세요 고수님들?
자세하게 설명좀 해주세요
혼자 해결하려 했는데 초보라 힘드네요.
6  COMMENTS
  • Profile
    안광호 2002.12.07 21:31
    오라클를 사용할 경우 다른 방법을 설명해 보겠습니다.
    1. UNION ALl 를 사용하는 경우
    2. Rollup 을 사용하는 경우가 있습니다.
    1. Union all
    (select * from
    (select 매출구분, '합계' 물품명, sum(금액) 금액, '' 팀명
         from Table Group By 매출구분)
    union all
    (select 매출구분, 물품명, 금액, 팀명 from table )
    order by 매출구분)

    2. rollup
    (select decode(grouping(매출구분), 1, '합계', 매출구분) 매출구분,
               물품명, 금액, 팀명
        from table
        group by rollup(매출구분)

    즐코하세요.

  • Profile
    김동화 2002.12.08 09:08
    답변 감사합니다.
    많은 도움 받았습니다.

    저도 언능 실력 연마해서 많은 분들께 도움주고 싶습니다.

    다시한번 감사 말씀 드립니다.

    행복하세요.


  • Profile
    윤민규 2002.12.07 05:21
    안녕하세요.

    음... 제가 보기에는 DBGrid에서 나타내려고 할려면... Stored Procedure(스토아프로시저)를 사용하시는것이 좋을듯 싶습니다.
    몰론 DB 에서 지원해야지요.
    제가 사용하는 DB는 MSSQL2000 이라서 지원가능 하지만.

    님께서 MSSQL이나 오라클을 사용 한다는 전제 하에 작은 답변을 드릴려고 합니다...

    -- 전체적인 Data Query 합니다.
    select sort = 매출구분,
             구분 = space(10),
             물품명,  
             금액,  
             팀명
      into #imsi
      from 매출TABLE


    insert into #imsi
      select 매출구분,
               매출구분,
               '합계',
               sum(금액),
               ''
        from 매출TABLE
      group by 매출구분
    ------------------------
    이렇게 한다음 임시 TABLE(#imsi)을 Select 한다.

    select * from #imsi
    하면 아마도 이렇게 나올겁니다.
    --------------------------------------------------------------
    l    Sort  l  매출구분     l         물품명       l      금액       l      팀명    l
    --------------------------------------------------------------
    l    기타  l                   l         도자기       l  000000000  l  인터넷팀   l
    l    기타  l                   l         물컵          l  000000000  l  인터넷팀   l
    l    도서  l                   l         홀길동전    l  000000000  l    광고팀    l
    l    도서  l                   l         C++           l  000000000  l    광고팀    l
    l    기타  l    기타         l         합계          l  000000000  l                 l
    l    도서  l    도서         l         합계          l  000000000  l                 l
    .
    .
    .
    ---------------------------------------------------------------
    이렇게 나오면

    Order by 만 sort, 매출구분

    될것같군요....

    아직 시도는 안해봤습니다.
    ----------------------------------------------
    select sort = 매출구분,
             구분 = space(10),
             물품명,  
             금액,  
             팀명
      into #imsi
      from 매출TABLE

    insert into #imsi
      select 매출구분,
               매출구분,
               '합계',
               sum(금액),
               ''
        from 매출TABLE
      group by 매출구분

    select * from #imsi
    Order by sort, 매출구분
    ----------------------------------------------
    위 문장을 TQuery  에서 SQL문장에 입력해서 사용 해도 될겁입니다.
    안되면 Stored Procedure 을 만들어서 사용하시고요.

    이것이 도움이 될지 는 모르겠지만 제가 이곳에서 도움을 많이 받아서
    저도 작은 지식이지만 한자 적었습니다.

    그럼 수고 하세요.
  • Profile
    김동화 2002.12.08 09:09
    답변 감사합니다.
    많은 도움 받았습니다.

    저도 언능 실력 연마해서 많은 분들께 도움주고 싶습니다.

    다시한번 감사 말씀 드립니다.

    행복하세요.


  • Profile
    DelChoBo 2002.12.07 21:10
    쓰셨네요. 저런 방법이.. 단지 쿼리 두개로 노가다양을 확~
    오늘 또 한수 배웠습니다.
    역시 덜떨어진 DelChoBo 라서..  ^^
    질문자는 아니지만 감사~!
    즐푸하세요.

  • Profile
    DelChoBo 2002.12.07 03:37
    스트링 그리드를 사용해야 하구요..

    var
      i, j : integer;
    begin
      for j := 0 to 4 do
        for i := 0 to 4 do
        begin
         StringGrid1.Cells[i,j] := inttostr(j) + inttostr(i);
        end;
    end;

    위 소스는 단순히 스트링그리드 자료 넣는 것과 X,Y위치를 알려드리기 위한것구요.. "inttostr(j) + inttostr(i);"위치에 원하시는 텍스트(DB자료)를 넣어주심 됩니다. while 문등으로 테이블 처음부터 끝까지 돌려가면서 매출구분 등은 변수에 넣어 비교후 달라지면 출력 하는 방식으로 하셔야 겠죠..
    한번해보심 별 어려운 작업이 아닐겁니다. 약간 귀찮을 뿐이지..

    고수아닌 초짜지만.. 도움될것 같아 한자 적었심더.
    그럼, 즐코..


    • 하기
      2002.12.09 21:26
      beforePrint인가요? 거기에서 qrMaster.First; 이렇게 함 써보세염... 레포트는 넘 오래전에 써보고 안...
    • 홍미자
    • 2002.12.09 19:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.12.09 23:22
      OnClick() 이벤트에다가 클릭한 Items값이 공백이나 '-' 나 이런경우는 처리 않하게 하면 될듯 싶은데....
    • 홍미자
      2002.12.10 03:01
      근데요, 현재 items 영역을 클릭하지 않고 그냥 TreeView 영역을 클릭하면 그전에 선택된 items 영역이 ...
    • 소울해커
      2003.02.02 02:02
      요즘들어 관련 질문이 유난히 많이 보이는군요. 그리고 요즘들어 계속해서 같은 답변만 남깁니다. Dire...
    • 인범진
    • 2002.12.09 05:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.12.10 03:22
      안녕하세요. 최용일입니다. 걍 복사하세요... var     ByteArray: TByteArray;...
    • 최용일
      2002.12.10 03:29
      안녕하세요. 최용일입니다. 메모컴포넌트 넣는 거야 가능하지만... 멀티컬럼셀을 지원하는 다른 컴포넌...
    • LuckyBoy
      2002.12.10 01:19
      정확한 답변이 될지는 모르겠지만.. form의 property 에보면.. keypreview 가 있는데.. 이것을 True...
    • 김수경
      2002.12.08 20:40
      아마도 님의 Source는 PowerPoint의 Path와 Class Name이 잘못되서 올바르게 동작하지 않았나 봅니다. ...
    • 구영옥
    • 2002.12.08 03:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.12.09 23:41
      어떤식으로 풀을 짰는지는 모르겠지만... DataBase 컴포넌트나 ADO Connect 로 붙으실때 옵션을 않주신...
    • 김정환
    • 2002.12.08 02:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍환민
      2002.12.09 08:26
      델파이 시작 그리고 완성이라는 책이 좋습니다. 그리고 틀별히 델파이로 된 영상관련 책은 없는 것 같습...
    • 김정환
      2002.12.10 08:24
      답변 감사합니다. 델파이에 처음으로 발을 들여놓으려고 하니 설레이기두 하구 그러네요. 그럼 좋은 하...
    • 가우
    • 2002.12.08 01:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • LuckyBoy
      2002.12.10 01:27
      먼저 델파이의 BDE의 StoredProc를 가져다 놓고.. Setting을 하세요.. 그리고 사용하는 방법은 StoredP...
    • 정성헌
    • 2002.12.08 01:08
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.12.10 00:03
      조인과 UNION을 쉽게 이해하려면 조인은 옆으로 필드수를 늘릴수 있는것이고.. UNION은 아래로 자료수를...
    • 최은석
      2002.12.09 02:09
      A,B 테이블에서 소유자를 가져오나여? 가령 A 에는 있고 B에는 없거나 반대의 경우에도 소유자를 가져오...
    • 정성헌
      2002.12.09 05:16
    • 리버
    • 2002.12.08 00:37
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 유해현
    • 2002.12.08 00:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김수경
      2002.12.08 20:57
      Component에 대한 설명 및 사용법은 DosCommand.PAS에 들어 있습니다. 그중 사용법을 Capture해 드리니 참...
    • 유해현
      2002.12.10 03:58
      감사합니다. (ㅠ.,ㅠ) 아주 잘 되는군요. 드디어 제가 원하는 프로그램을 마무리 지었습니다. 그런데 ...
    • 빙구
    • 2002.12.07 23:53
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 권남영
    • 2002.12.07 23:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최병철
      2002.12.08 02:39
      참고 하세요. 최종 끝나는 시점이나 데이타가 없는 시점에서 재고량을 초기화 하세요. 저도 님과...
    • 전종표
      2002.12.07 21:34
      procedure ChkBland(Sender : TObject); var     cStr : String; begin  &nb...
    • 임상욱
    • 2002.12.07 19:59
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2002.12.09 02:27
      select a.사원코드,a.이름,b.부서명,c.직급명 from 사원테이블 a,부서테이블 b,직급테이블 c where a.부...
    • DelChoBo
      2002.12.07 20:49
      join을 사용하심 됩니다. 가령 a, b 두개의 테이블 조인이 bcode로 연결되어 있다면 정식 join으로 사용하...
    • 임상욱
      2002.12.07 21:17
      DelChoBo님, 머슴님 답변 감사드립니다. 도움이 많이 돼었습니다. 다시한번 감사드립니다...
    • 머슴
      2002.12.07 20:44
        오라클 DB 기준임을 알립니다. 오라클이 아닌경우는 조금다를 수 있습니다..   ...
    • 윤민규
    • 2002.12.07 03:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.07 18:38
      http://www.jwfree.pe.kr/ <--요기 가셔서 두루두루 살펴보세여. 님이 원하시는 소스가 있을 겁니다....
    • 윤민규
      2002.12.08 05:26
      감사합니다.. 도움 많이 되었습니다.
    • 김동화
    • 2002.12.07 03:14
    • 6 COMMENTS
    • /
    • 1 LIKES
    • 안광호
      2002.12.07 21:31
      오라클를 사용할 경우 다른 방법을 설명해 보겠습니다. 1. UNION ALl 를 사용하는 경우 2. Rollup 을 사...
    • 김동화
      2002.12.08 09:08
      답변 감사합니다. 많은 도움 받았습니다. 저도 언능 실력 연마해서 많은 분들께 도움주고 싶습니다. ...
    • 윤민규
      2002.12.07 05:21
      안녕하세요. 음... 제가 보기에는 DBGrid에서 나타내려고 할려면... Stored Procedure(스토아프로시저)...
    • 김동화
      2002.12.08 09:09
      답변 감사합니다. 많은 도움 받았습니다. 저도 언능 실력 연마해서 많은 분들께 도움주고 싶습니다. ...
    • DelChoBo
      2002.12.07 21:10
      쓰셨네요. 저런 방법이.. 단지 쿼리 두개로 노가다양을 확~ 오늘 또 한수 배웠습니다. 역시 덜떨어진 Del...
    • DelChoBo
      2002.12.07 03:37
      스트링 그리드를 사용해야 하구요.. var   i, j : integer; begin   for j := 0...