database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39316 게시물 읽기
No. 39316
가로로 출력 하는방 법좀 조언 부탁합니다.
작성자
강옥석
작성일
2012-02-27 12:36ⓒ
2012-02-27 13:46ⓜ
조회수
5,643

 

아래와 같이  출력을 하고자 합니다.

 

도움을 요청드립니다.

대략 5개의 사내 협력사가 각 일자별 작업실적을 관리하는 기능을 구현하려 합니다.

구현상에있어서 해결이 되지 않아 이렇게 요청드립니다.

각업체의 실적정보가 해당일자에  한꺼번에 가로로 표기를 하고 싶습니다.

쿼리실력이 미진하여^^;       위의 결과는 한업체의 실적을 출력하고 다시 다른업체의 실적을 출력하기 때문에  ROW수도 많을 뿐만아니라 보기도 좀 그렇습니다.

해ㅤㄱㅕㅎ할 수 있도록 도움 부탁드립니다.

아래는 쿼리입니다.

 

        SELECT 
               WORK_DATE  ,
               V100_PLET_NO,       
               V100_RTNG_CODE,       
               V100_PLET_QTY,       
               V100_PLET_WT,       
               V100_VNDR_NAME_KOR,   
               V100_OWNER_PLET_NO,   
               V200_PLET_NO,       
               V200_RTNG_CODE,       
               V200_PLET_QTY,       
               V200_PLET_WT,       
               V200_VNDR_NAME_KOR,   
               V200_OWNER_PLET_NO,   
               V300_PLET_NO,       
               V300_RTNG_CODE,       
               V300_PLET_QTY,       
               V300_PLET_WT,       
               V300_VNDR_NAME_KOR,   
               V300_OWNER_PLET_NO,   
               V400_PLET_NO,       
               V400_RTNG_CODE,       
               V400_PLET_QTY,       
               V400_PLET_WT,       
               V400_VNDR_NAME_KOR,   
               V400_OWNER_PLET_NO,   
               V500_PLET_NO,       
               V500_RTNG_CODE,       
               V500_PLET_QTY,       
               V500_PLET_WT,       
               V500_VNDR_NAME_KOR,   
               V500_OWNER_PLET_NO       FROM (
               SELECT TEMP.WORK_DATE  ,        
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.PLET_NO,'')               V100_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.RTNG_CODE,'')             V100_RTNG_CODE,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V100',TEMP.PLET_QTY,0))          V100_PLET_QTY,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V100',TEMP.PLET_WT,0))           V100_PLET_WT,       
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.VNDR_NAME_KOR,'')         V100_VNDR_NAME_KOR,       
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.OWNER_PLET_NO,'')         V100_OWNER_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.PLET_NO,'')               V200_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.RTNG_CODE,'')             V200_RTNG_CODE,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V200',TEMP.PLET_QTY,0))          V200_PLET_QTY,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V200',TEMP.PLET_WT,0))           V200_PLET_WT,       
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.VNDR_NAME_KOR,'')         V200_VNDR_NAME_KOR,       
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.OWNER_PLET_NO,'')         V200_OWNER_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.PLET_NO,'')               V300_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.RTNG_CODE,'')             V300_RTNG_CODE,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V300',TEMP.PLET_QTY,0))          V300_PLET_QTY,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V300',TEMP.PLET_WT,0))           V300_PLET_WT,       
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.VNDR_NAME_KOR,'')         V300_VNDR_NAME_KOR,       
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.OWNER_PLET_NO,'')         V300_OWNER_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.PLET_NO,'')               V400_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.RTNG_CODE,'')             V400_RTNG_CODE,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V400',TEMP.PLET_QTY,0))          V400_PLET_QTY,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V400',TEMP.PLET_WT,0))           V400_PLET_WT,       
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.VNDR_NAME_KOR,'')         V400_VNDR_NAME_KOR,       
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.OWNER_PLET_NO,'')         V400_OWNER_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.PLET_NO,'')               V500_PLET_NO,       
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.RTNG_CODE,'')             V500_RTNG_CODE,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V500',TEMP.PLET_QTY,0))          V500_PLET_QTY,       
                      SUM(DECODE(TEMP.VNDR_CODE,'V500',TEMP.PLET_WT,0))           V500_PLET_WT,       
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.VNDR_NAME_KOR,'')         V500_VNDR_NAME_KOR,       
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.OWNER_PLET_NO,'')         V500_OWNER_PLET_NO       
                  FROM       
                  (SELECT 'V100'                   VNDR_CODE,                                                      
                          SM950M.GRND_FD           WORK_DATE,                                                      
                          SM950M.RTNG_PLET_NO ||'-('|| SM950M.OWNER_PLET_NO||')'||DECODE(NVL(SUBSTR(SM900M.WORK_CNT,1,1),'0'),'*','*',' ')PLET_NO,        
                          SM950M.RTNG_CODE         RTNG_CODE ,        
                          SM950M.PLET_QTY          PLET_QTY,                                                  
                          SM950M.PLET_WT           PLET_WT,                                                   
                          STD99M.VNDR_NAME_KOR     VNDR_NAME_KOR,                                            
                          SM950M.OWNER_PLET_NO     OWNER_PLET_NO
                   FROM  SM950M , STD99M , SM900M                               
                   WHERE SM950M.GRND_FD            BETWEEN '$Fdate1$'  AND '$Fdate2$'         
                     AND SM950M.RTNG_PLET_NO       = SM900M.RTNG_PLET_NO                                     
                     AND SM950M.OWNER_CODE         = SM900M.OWNER_CODE                                     
                         AND SM900M.OWNER_CODE = '$FownerCode$'    
                          AND STD99M.VNDR_CODE  = '$FvndrCode$'      
                     AND SM950M.GRND_WORK_VNDR_CODE || '00' = STD99M.VNDR_CODE                               
                   UNION ALL       
                   SELECT 'V200'                   VNDR_CODE,       
                          SM950M.PEND_FD           WORK_DATE,                                                      
                          SM950M.RTNG_PLET_NO ||'-('|| SM950M.OWNER_PLET_NO||')'||DECODE(NVL(SUBSTR(SM900M.WORK_CNT,1,1),'0'),'*','*',' ') PLET_NO,        
                          SM950M.RTNG_CODE         RTNG_CODE ,                                                                            
                          SM950M.PLET_QTY          PLET_QTY ,                                             
                          SM950M.PLET_WT           PLET_WT,                                                   
                          STD99M.VNDR_NAME_KOR     VNDR_NAME_KOR,                                           
                          SM950M.OWNER_PLET_NO     OWNER_PLET_NO                                                  
                   FROM  SM950M  , STD99M , SM900M                               
                   WHERE SM950M.PEND_FD BETWEEN    '$Fdate1$'  AND '$Fdate2$'        
                     AND SM950M.RTNG_PLET_NO       = SM900M.RTNG_PLET_NO                                     
                     AND SM950M.OWNER_CODE         = SM900M.OWNER_CODE                                     
                         AND SM900M.OWNER_CODE = '$FownerCode$'    
                          AND STD99M.VNDR_CODE  = '$FvndrCode$'     
                     AND SM950M.PEND_WAIT_VNDR_CODE || '00' = STD99M.VNDR_CODE                               
                   UNION ALL       
                   SELECT 'V300'                   VNDR_CODE,                                                      
                          SM950M.PNT_FD            WORK_DATE,                                                      
                          SM950M.RTNG_PLET_NO ||'-('|| SM950M.OWNER_PLET_NO||')'||DECODE(NVL(SUBSTR(SM900M.WORK_CNT,1,1),'0'),'*','*',' ') PLET_NO,        
                          SM950M.RTNG_CODE         RTNG_CODE ,        
                          SM950M.PLET_QTY          PLET_QTY,                                                  
                          SM950M.PLET_WT           PLET_WT,                                                   
                          STD99M.VNDR_NAME_KOR     VNDR_NAME_KOR,                                            
                          SM950M.OWNER_PLET_NO     OWNER_PLET_NO                                                   
                   FROM  SM950M  , STD99M , SM900M                               
                   WHERE SM950M.PNT_FD BETWEEN '$Fdate1$'  AND '$Fdate2$'         
                     AND SM950M.RTNG_PLET_NO  = SM900M.RTNG_PLET_NO                                     
                     AND SM950M.OWNER_CODE         = SM900M.OWNER_CODE                                     
                         AND SM900M.OWNER_CODE = '$FownerCode$'    
                          AND STD99M.VNDR_CODE  = '$FvndrCode$'     
                     AND SM950M.MNL_WORK_VNDR_CODE || '00' = STD99M.VNDR_CODE                               
                   UNION ALL       
                   SELECT 'V400'                   VNDR_CODE,                                                      
                          SM950M.PNT_FD            WORK_DATE,                                                      
                          SM950M.RTNG_PLET_NO ||'-('|| SM950M.OWNER_PLET_NO||')'||DECODE(NVL(SUBSTR(SM900M.WORK_CNT,1,1),'0'),'*','*',' ') PLET_NO,        
                          SM950M.RTNG_CODE         RTNG_CODE ,        
                          SM950M.PLET_QTY          PLET_QTY,                                                  
                          SM950M.PLET_WT           PLET_WT,                                                   
                          STD99M.VNDR_NAME_KOR     VNDR_NAME_KOR,                                             
                          SM950M.OWNER_PLET_NO     OWNER_PLET_NO                                                  
                   FROM  SM950M  , STD99M , SM900M                               
                   WHERE SM950M.PNT_FD BETWEEN     '$Fdate1$'  AND '$Fdate2$'         
                     AND SM950M.RTNG_PLET_NO       = SM900M.RTNG_PLET_NO                                     
                     AND SM950M.OWNER_CODE         = SM900M.OWNER_CODE                                     
                     AND SM950M.AUTO_WORK_VNDR_CODE || '00' = STD99M.VNDR_CODE                               
                         AND SM900M.OWNER_CODE = '$FownerCode$'    
                          AND STD99M.VNDR_CODE = '$FvndrCode$'      
                   UNION ALL       
                   SELECT 'V500'                   VNDR_CODE,                                                      
                          SM950M.DLVY_WAIT_DATE    WORK_DATE,                                                      
                          SM950M.RTNG_PLET_NO ||'-('|| SM950M.OWNER_PLET_NO||')'||DECODE(NVL(SUBSTR(SM900M.WORK_CNT,1,1),'0'),'*','*',' ') PLET_NO,        
                          SM950M.RTNG_CODE         RTNG_CODE       ,        
                          SM950M.PLET_QTY          PLET_QTY,                                                  
                          SM950M.PLET_WT           PLET_WT,                                                   
                          STD99M.VNDR_NAME_KOR     VNDR_NAME_KOR,                                            
                          SM950M.OWNER_PLET_NO     OWNER_PLET_NO                                                  
                   FROM  SM950M  , STD99M , SM900M                               
                   WHERE SM950M.DLVY_WAIT_DATE BETWEEN '$Fdate1$'  AND '$Fdate2$'         
                     AND SM950M.STOR_WORK_VNDR_CODE || '00' = STD99M.VNDR_CODE                               
                     AND SM950M.RTNG_PLET_NO       = SM900M.RTNG_PLET_NO                                     
                     AND SM950M.OWNER_CODE         = SM900M.OWNER_CODE                                     
                         AND SM900M.OWNER_CODE = '$FownerCode$'    
                          AND STD99M.VNDR_CODE = '$FvndrCode$'      
                        )  TEMP   
               GROUP BY TEMP.WORK_DATE,   
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.PLET_NO,'')         ,
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.RTNG_CODE,'')       ,
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.VNDR_NAME_KOR,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V100',TEMP.OWNER_PLET_NO,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.PLET_NO,'')         ,
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.RTNG_CODE,'')       ,
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.VNDR_NAME_KOR,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V200',TEMP.OWNER_PLET_NO,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.PLET_NO,'')         ,
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.RTNG_CODE,'')       ,
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.VNDR_NAME_KOR,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V300',TEMP.OWNER_PLET_NO,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.PLET_NO,'')         ,
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.RTNG_CODE,'')       ,
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.VNDR_NAME_KOR,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V400',TEMP.OWNER_PLET_NO,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.PLET_NO,'')         ,
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.RTNG_CODE,'')       ,
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.VNDR_NAME_KOR,'')   ,
                      DECODE(TEMP.VNDR_CODE,'V500',TEMP.OWNER_PLET_NO,'')  
             )    
        ORDER BY WORK_DATE             
                      
데이타베이스 : 오라클

부탁 드립니다.

 

이 글에 대한 댓글이 총 3건 있습니다.

temp 도 같은 테이블 5번 읽지 않고 한번만 읽고 가능할 듯 한데요.
보여주신 정보로는 5개 쿼리가 모두 똑같아 보여서 고쳐드릴수가 없네요.
분명 다를텐데요... 다른 점을 이용해 하나의 쿼리로 만들 수 있습니다.
일단 temp 는 건너 뛰고....
5줄이 아닌 한줄에 표시하기 위해서는 공통키가 있어야 하는데...
그런게 없네요. 다 제각각 이네요.
공통키로 그룹바이해서 한줄로 만들어야 하는데 그런게 없으니...
그냥 줄번호(Row_number)로 합쳐보도록 하겠습니다.

--11G의 PIVOT 기능을 이용해 봤습니다.
SELECT *
  FROM (
        SELECT work_date
             , vndr_code
             , plet_no,
             , rtng_code
             , vndr_name_kor
             , owner_plet_no
             , SUM(plet_qty) plet_qty
             , SUM(plet_wt ) plet_wt
             , ROW_NUMBER()
               OVER(PARTITION BY work_date, vndr_code ORDER BY plet_no) rn
          FROM (...) temp
         GROUP BY work_date
             , vndr_code
             , plet_no,
             , rtng_code
             , vndr_name_kor
             , owner_plet_no
        ) aa
 PIVOT ( MIN(plet_no      ) plet_no
       , MIN(rtng_code    ) rtng_code
       , MIN(vndr_name_kor) vndr_name_kor
       , MIN(owner_plet_no) owner_plet_no
       , SUM(plet_qty     ) plet_qty
       , SUM(plet_wt      ) plet_wt
         FOR vndr_code IN ('V100', 'V200', 'V300', 'V400', 'V500') )
 ORDER BY work_date, rn
;

--11G 미만 버전에서는 Group By, Min(Decode()) 를 이용하시면 됩니다.
SELECT work_date
     , rn
     , MIN(DECODE(vndr_code, 'V100', plet_no      ) v100_plet_no
     , MIN(DECODE(vndr_code, 'V100', rtng_code    ) v100_rtng_code
     , MIN(DECODE(vndr_code, 'V100', vndr_name_kor) v100_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V100', owner_plet_no) v100_owner_plet_no
     , SUM(DECODE(vndr_code, 'V100', plet_qty     ) v100_plet_qty
     , SUM(DECODE(vndr_code, 'V100', plet_wt      ) v100_plet_wt
     , ...
     , MIN(DECODE(vndr_code, 'V500', plet_no      ) v500_plet_no
     , MIN(DECODE(vndr_code, 'V500', rtng_code    ) v500_rtng_code
     , MIN(DECODE(vndr_code, 'V500', vndr_name_kor) v500_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V500', owner_plet_no) v500_owner_plet_no
     , SUM(DECODE(vndr_code, 'V500', plet_qty     ) v500_plet_qty
     , SUM(DECODE(vndr_code, 'V500', plet_wt      ) v500_plet_wt
  FROM (...) aa
 GROUP BY work_date, rn
 ORDER BY work_date, rn
;

5번 따로 읽어 Union 하는 것은 1번만 읽어 처리 가능합니다.
이부분에 대해 고민해 보시기 바랍니다.

마농(manon94)님이 2012-02-27 14:23에 작성한 댓글입니다.

친절한 답변 감사합니다.

설명을 해 주셨지만 제가 이해를 못한관계로^^; 다시한번만 더 살펴봐 주시면 감사하겠스비낟.

지원요청을 드렷던 테이블에

PI950M이라는 테이블에 아래와 같은 업체코드를 유지 관리합니다.

하나의 완성품을 만들기 위해서 대략 아래와 같은 공정을 거처야 되는 업무라서 테이블에 협력사코드를

별도로 유지 하고 있습니다. 그래서 5번을 UNION ALL을 하였습니다.

GRND_WORK_VNDR_CODE    사상작업업체코드

PEND_WAIT_VNDR_CODE    보류대기업체코드
MNL_WORK_VNDR_CODE    수동작업협력사코드
AUTO_WORK_VNDR_CODE    자동작업협력사코드
STOR_WORK_VNDR_CODE    적치작업협력사코드

지금 조언 주셨던 내용에 대하여 쉽게 이해가 되지 않아서 재차 부탁드리겠습니다.

오라클은 10G이구요

혹시 더 쉽게 설명을 해 주시면 감사하겠습니다.

수고하십시오!!!

강옥석님이 2012-02-27 15:42에 작성한 댓글입니다. Edit

SELECT work_date
     , dr
     , MIN(DECODE(vndr_code, 'V100', vndr_name_kor) v100_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V100', plet_no      ) v100_plet_no
     , SUM(DECODE(vndr_code, 'V100', plet_qty     ) v100_plet_qty
     , SUM(DECODE(vndr_code, 'V100', plet_wt      ) v100_plet_wt
     , MIN(DECODE(vndr_code, 'V200', vndr_name_kor) v200_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V200', plet_no      ) v200_plet_no
     , SUM(DECODE(vndr_code, 'V200', plet_qty     ) v200_plet_qty
     , SUM(DECODE(vndr_code, 'V200', plet_wt      ) v200_plet_wt
     , MIN(DECODE(vndr_code, 'V300', vndr_name_kor) v300_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V300', plet_no      ) v300_plet_no
     , SUM(DECODE(vndr_code, 'V300', plet_qty     ) v300_plet_qty
     , SUM(DECODE(vndr_code, 'V300', plet_wt      ) v300_plet_wt
     , MIN(DECODE(vndr_code, 'V400', vndr_name_kor) v400_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V400', plet_no      ) v400_plet_no
     , SUM(DECODE(vndr_code, 'V400', plet_qty     ) v400_plet_qty
     , SUM(DECODE(vndr_code, 'V400', plet_wt      ) v400_plet_wt
     , MIN(DECODE(vndr_code, 'V500', vndr_name_kor) v500_vndr_name_kor
     , MIN(DECODE(vndr_code, 'V500', plet_no      ) v500_plet_no
     , SUM(DECODE(vndr_code, 'V500', plet_qty     ) v500_plet_qty
     , SUM(DECODE(vndr_code, 'V500', plet_wt      ) v500_plet_wt
  FROM (
        SELECT a.dlvy_wait_date    work_date
             , 'V' || d.lv || '00' vndr_code
             , b.vndr_name_kor     vndr_name_kor
             , a.rtng_plet_no ||'-('|| a.owner_plet_no ||')'||
               DECODE(SUBSTR(c.work_cnt,1,1),'*','*',' ') plet_no
             , a.plet_qty          plet_qty
             , a.plet_wt           plet_wt
             , DENSE_RANK()
               OVER(PARTITION BY a.dlvy_wait_date, d.lv
                        ORDER BY a.rtng_plet_no) dr
          FROM sm950m a
             , std99m b
             , sm900m c
             , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 5) d
         WHERE a.dlvy_wait_date BETWEEN '$Fdate1$' AND '$Fdate2$'
           AND a.rtng_plet_no = c.rtng_plet_no
           AND a.owner_code   = c.owner_code
           AND c.owner_code   = '$FownerCode$'
           AND b.vndr_code    = '$FvndrCode$'
           AND b.vndr_code    = DECODE(d.lv, 1, a.grnd_work_vndr_code
                                           , 2, a.pend_wait_vndr_code
                                           , 3, a.mnl_work_vndr_code
                                           , 4, a.auto_work_vndr_code
                                           , 5, a.stor_work_vndr_code
                                           ) || '00'
        )
 GROUP BY work_date, dr
 ORDER BY work_date, dr
;

마농(manon94)님이 2012-02-27 17:34에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39319특정일자의 시간대 데이터에서 입력되지 않은 시간대 구하기. [2]
sysopmin
2012-02-28
4766
39318개발서버. OS가 갑자기..깨지는바람에 ㅜㅜ,,,,,
흠흠흠
2012-02-27
3066
39317테이블 생성시 키 값에 대해.. [1]
아폴론
2012-02-27
3261
39316가로로 출력 하는방 법좀 조언 부탁합니다. [3]
강옥석
2012-02-27
5643
39315결재 할 순서대로 보여주기 [2]
바램
2012-02-25
4483
39314롱러닝 쿼리 진행률 알 수 있는 방법 있나요? [2]
슬라임
2012-02-24
3930
39313가로 데이터를 세로 형식으로
장형욱
2012-02-24
4054
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다