Q&A

  • 행을 열로 확장하는 쿼리??
시간  위치  이름
----------------
  1    G1    AA
  1    G1    BB
  1    G1    CC
  1    G2    DD
  1    G2    EE
  1    G2    FF
  1    G2    GG
  1    G3    HH
  1    G3    II
  1    G4    JJ
  2    G1    KK
  2    G1    LL
  2    G2    MM
  2    G2    NN
  2    G2    OO
  2    G2    PP
  2    G3    QQ
  2    G4    RR
  2    G4    SS

하나의 테이블에 이런 데이타가 들어있다고 가정합니다..

이 데이타를 아래와 같이 쿼리해 올려면 어떻해야 할지... (시간별/위치별 스케줄..)

   G1  G2  G3  G4
--------------------
1  AA  DD  HH  JJ
1  BB  EE  II
1  CC  FF
1        GG
2  KK  MM  QQ  RR
2  LL  NN          SS
2        OO
2        PP


제발 고수님들의 조언 부탁드립니다.... ^^;;

참고로 디비는 엑세스 사용합니다.
6  COMMENTS
  • Profile
    김경록 2004.02.23 03:58
    SELECT GUBUN,
           MAX(DECODE(LOC, 'G1', NM))  G1,
           MAX(DECODE(LOC, 'G2', NM))  G2,
           MAX(DECODE(LOC, 'G3', NM))  G3,
           MAX(DECODE(LOC, 'G4', NM))  G4
      FROM ( SELECT GUBUN, LOC, NM,
                    RANK() OVER (PARTITION BY GUBUN, LOC ORDER BY ROWID) RN
               FROM QUIZ
            )
    GROUP BY GUBUN, RN

    - gubun:  시간
    - loc: 위치
    - nm: 이름

    위 SQL로 Query한 결과값

    G G1 G2 G3 G4
    - -- -- -- --
    1 AA DD HH JJ
    1 BB EE II
    1 CC FF
    1    GG
    2 KK MM QQ RR
    2 LL NN    SS
    2    OO
    2    PP

    8 rows selected.

    답이 되었으면 하네여,
    간만에 머리한번 굴려 보았네여..
    무려 30분이나 걸렸네여..   *^^*




  • Profile
    박민규 2004.02.24 15:59
    이런 간단한 방법이 있었다니... 다시한번 오라클의 놀라운 능력에 감탄할 뿐입니다... 물론 이런 쿼리를 생각해내신 님의 능력에도 감탄하구여...
    허나 사정상 전 엑세스를 써야 한답니다... ㅜㅜ
    그래서 이런 좋은 쿼리도 무용지물일듯....

    어쨌든 님의 조언에 다시한번 감사드립니다...




  • Profile
    김수현 2004.02.19 22:42
    제가 예전에 엑세스로 고민했던 사항이네요.
    고민하다가 VB로 루프를 돌면서 새로운 테이블에 생성하는 부분을 넣었었지요.
    즉, 추가쿼리에서는 해당 테이블을 읽어서 바로 새테이블에 insert를 하는거였는데...

    저는 그렇게 해결했었거든요.

    SQL로는 힘들더군요.

    도움이 되었는지 모르겠습니다.

  • Profile
    박민규 2004.02.20 15:55
    우선 답변 감사드립니다...

    하지만 궁금한게 또 있어서리...
    그럼 오라클로는 해결할만한 쿼리가 있는지....
    아님 어떤 디비든 정말 쿼리로는 해결이 안되는 문제인가여??
    답변 좀....

  • Profile
    성더기 2004.02.20 18:34
    위치정보가 G1~G4까지 고정적이라면
    각각을 가져오는 쿼리를 인라인 뷰로 만들고 그것을 시간을 기준으로
    Outer Join을 하면 될것 같기두 한데..

    select G1.시간, g1.이름,  G2.이름,  G3.이름,  G4.이름
      from (select 시간, 이름 from 테이블명 where 위치 = 'G1') g1
      left outer join  (select 시간, 이름 from 테이블명 where 위치 = 'G2') g2 on g1.시간 = g2.시간
      left outer join  (select 시간, 이름 from 테이블명 where 위치 = 'G3') g3 on g1.시간 = g3.시간
      left outer join  (select 시간, 이름 from 테이블명 where 위치 = 'G4') g4 on g1.시간 = g4.시간

    이런식으로 쿼리를 하면
    될거 같기는 한데 치명적으로 아래 표에 있는 GG나 OO, PP는 안나타납니다
    각 위치별 이름의 카운트를 해서 레코드 숫자가 가장 많은것을 From절에 두고 나머지를 join절로 빼면
    전부다 나타날 겁니다

    참고로 이 쿼리는 MS-SQL, ORACLE 8i이상, 파이어버드(인터베이스)서만 증명됐습니다
    Access는 테스트를 하지 못했다는..쿨럭..


  • Profile
    박민규 2004.02.24 15:55
    먼저 답변 정말 감사드립니다...

    근데 님의 조언대로 엑세스에서 해봤더니 에러가 나더군여... 후밍
    제 생각엔 아마도 엑세스에선 left outer join이 두번이상은 안되는듯.... 쯔쯔..
    암래도 걍 프로그램에서 루프 돌려야 될것 같군여...

    Anyway, 정말 감사드림니다.... 그럼..


    • 엘짱
    • 2004.02.19 22:11
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 권영길
      2004.02.19 22:45
      없는페이지는 404 에러가 정상이지만 그건 서버 맘(?)입니다. 위의 경우의 500에러는 서버에서 클라이언트...
    • 하창호
      2004.03.03 17:27
      MS 익스플로어만 전용으로 accept하는 웹이 있다고 하셨는데 인디 콤포넌트로 접속하려면 그 부분은 어떻...
    • mrdelphi
    • 2004.02.19 18:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박민규
    • 2004.02.19 17:33
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2004.02.23 03:58
      SELECT GUBUN,        MAX(DECODE(LOC, 'G1', NM))  G1,  ...
    • 박민규
      2004.02.24 15:59
      이런 간단한 방법이 있었다니... 다시한번 오라클의 놀라운 능력에 감탄할 뿐입니다... 물론 이런 쿼리를 ...
    • 김수현
      2004.02.19 22:42
      제가 예전에 엑세스로 고민했던 사항이네요. 고민하다가 VB로 루프를 돌면서 새로운 테이블에 생성하는 부...
    • 박민규
      2004.02.20 15:55
      우선 답변 감사드립니다... 하지만 궁금한게 또 있어서리... 그럼 오라클로는 해결할만한 쿼리가 있는...
    • 성더기
      2004.02.20 18:34
      위치정보가 G1~G4까지 고정적이라면 각각을 가져오는 쿼리를 인라인 뷰로 만들고 그것을 시간을 기준으로...
    • 박민규
      2004.02.24 15:55
      먼저 답변 정말 감사드립니다... 근데 님의 조언대로 엑세스에서 해봤더니 에러가 나더군여... 후밍 제...
    • 손희석
    • 2004.02.19 16:02
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.02.19 18:24
      안녕하세요. 최용일입니다. 델파이에 잘 적용되어져서 사용되고 있다고 생각하는데요... 가장 대표적...
    • 손희석
      2004.02.19 23:12
      우선 답변에 대해 감사드립니다. 델파이의 OOP메카니즘에 관한 책이나 원서를 좀 추천 부탁드립니다 ^^ ...
    • 하창훈
    • 2004.02.19 07:28
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김원석
    • 2004.02.19 03:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Mr. Ziker
      2004.02.20 21:33
      예전에 작업했던 소스중에 있더군요.. lbShowCTime.Caption := SecToTime(Round(ZMediaPlayer.CurrentPo...
    • 김원석
      2004.02.24 22:49
      답해주신 거 감사합니다. ^^ 하지만 zmediaplayer가 어떤건지 잘 모르겠구요..^^   Window...
    • superman
    • 2004.02.19 01:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 온진욱
    • 2004.02.19 00:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.02.19 01:16
      안녕하세요. 패키지 통째를 인스톨하지 않는한 대부분 개별 컴퍼넌트는 dclusr.dsk 에 포함되어 컴파일 됩...
    • help me
    • 2004.02.19 00:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.02.19 00:53
      안녕하세요. ^는 포인터 변수를 통한 값의 참조이고 @는 포인터 변수의 주소값을 대입하는 것입니다. ...
    • 정민섭
    • 2004.02.19 00:08
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 윤상현
    • 2004.02.18 22:26
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김운필
      2004.02.21 03:01
      C 스타일과 비슷하게 하려면 FileOpen, FileSeek, FileRead, FileClose 함수 이용하세요   ...
    • 이중철
      2004.02.18 22:47
      쩝 델파이는 한방 입니다 var MS : TMemoryStream; begin   MS := TMemoryStream.Create; ...
    • 윤상현
      2004.02.18 23:50
      이렇게 하면 읽을 파일이 텍스트 이던지, 바이너리이던지 상관없이 바이너리형태로 읽어들인단 말씀이신...
    • 이중철
      2004.02.20 02:52
      Text 화일이니 Binary화일이니 이미지화일이니 그런것들은 프로그램에서 어떻게 Assign 하는가의 문제 입...
    • 김수현
    • 2004.02.18 22:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.02.19 00:41
      안녕하세요. 저도 확인해볼려고 하는데 Delphi 버젼이 몇이지요? 전 6.0 쓰는데 FixedCols 란 프로퍼티는...
    • 김수현
      2004.02.19 17:58
      죄송합니다. 제가 질문을 제대로 못했나보네요. 그러니까 DBGrid에서 StringGrid의 속성을 사용하기 위...
    • 송현미
    • 2004.02.18 20:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Galaxy
      2004.02.18 20:50
      처음에 저도 MYSQL 사용하기 위해서 모든 서점을 다지고 다녀죠 그런데 서점에는 책이거의 없다라고요 (2...
    • 송현미
      2004.02.18 20:57
      우선 감사 드리구요 영어가 짧기는 하지만... 책도 보고.... www.MySQl.Com에서 다운받아서 해보도록 하...
    • Crazy
      2004.02.19 01:35
      등록하라는 메시지인데요.... 정식버젼이 아닌가보네요..
    • 엑기스
    • 2004.02.18 18:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2004.02.18 19:08
      전 잘됩니다만... Panel과 Edit의 TabOrder를 둘다 0으로 주세요 또는 델파이6(5에도 있는지는 모르겠...
    • 엑기스
      2004.02.19 01:04
    • 윤상현
    • 2004.02.18 18:14
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 2004.02.18 23:34
      일단 아래처럼 만드니.. 문제가 없네요... 단 문제가 있다면.. 올려주신 hex 파일은 사용하지 않았다는 거...
    • 윤상현
      2004.02.18 23:56
      아래 코드로 프로그램을 했더니 잘 변환이 되더군요.... 감사... 감사.... 그런데 제가 하려던 것은 ...
    • 2004.02.19 00:33
      인텔 헥사 파일의 포멧을 올려 드리겠습니다.. 지금 제가 그것을 이용해서 코드를 짤 마음이 아니라서.. ...
    • 이중철
      2004.02.18 22:44
      대충 프로그램 Hex -> Bin은 만들었거든요 Bin -> Hex도 같은 방법으로 하면 됩니다. OpenDialog...
    • 2004.02.18 07:51
    • 0 COMMENTS
    • /
    • 0 LIKES