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 40332 게시물 읽기
No. 40332
select 후 insert 질문 드립니다
작성자
진현철
작성일
2013-12-09 17:14
조회수
7,007

안녕하세요,, 먼저 금요일에 모르는 부분에 도움 주셔서 잘 해겼했습니다

감사합니다. 그거에 연관되서 다시한번만 질문드리겠습니다

일단 쿼리가

INSERT INTO TESTBOM@AAAL
               (
                   ECO_SEQ
                  ,ECO_NO
                  ,PROC_TYPE
                  ,MATNR                                               
 
               )
             select LPAD(ROWNUM,4,0) ,aa.* from                                                                                                                                      
              (                                            
               SELECT
                   A.CHANGE_NUMBER                       
                  ,CASE WHEN CHANGE_OUT = A.ID THEN 'D'
                        WHEN CHANGE_IN  = A.ID THEN 'A' END 
                  ,I.ITEM_NUMBER   AS  P_ITEM_NUMBER      
                  ,TO_char(B.CREATED,'YYYY-MM-DD HH:MI:SS') cdate      ---------- ORDER BY 하기위해 SELECT
               FROM CHANGE     A
                   ,REV        R
                   ,ITEM       I
                   ,ITEM_P2P3  P
                   ,BOM        B
                   ,REFDESIG   C
                   ,AGILE_FLEX F
               WHERE  A.CHANGE_NUMBER   = mF_ECO_NO   
                 AND  I.ITEM_NUMBER     = sF_ITEM    
                 AND  B.CHANGE_OUT  != B.CHANGE_IN
                 AND (B.CHANGE_IN = A.ID OR B.CHANGE_OUT=A.ID)
                 AND  B.ITEM      = R.ITEM
                 AND  I.ID        = R.ITEM
                 AND  R.CHANGE    = A.ID
                 AND  B.ITEM_NUMBER = P.ITEM_NUMBER
                 AND  B.ID        = C.BOM(+)
                 AND  B.ID        = F.ROW_ID (+)
                 AND  B.ITEM      = F.ID (+)
                 AND  F.ATTID(+) = '1036'
                 AND  F.CLASS(+)  = '10000'
                order by c_item_number,cdate

                 )aa

 

쿼리는 이렇습니다,,,빨간 글씨의 insert 필드는 4개 이지만 select 필드는 5개 입니다

마지막 보라색 필드는 단순히 마지막에 order by 하기 위해 가져오는건데요

insert 할때는 빼고 TESTBOM@AAAL에 넣고 싶습니다

이게 가능 한가요? 초보적인 질문을 드려서 송구 스럽네요 ㅜㅜ

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

aa.*

대신에

aa.change_number 식으로 컬럼명을 나열해주세요.

cdate 이건 빼구요.

박성빈(빈이님)님이 2013-12-09 17:44에 작성한 댓글입니다.

TO_char(B.CREATED,'YYYY-MM-DD HH:MI:SS') 구문은 의미가 없어 보입니다.

그냥 ORDER에 B.CREATED 를 추가하시는게 나을거 같은데요.

 

INSERT INTO TESTBOM@AAAL
                (
                    ECO_SEQ
                   ,ECO_NO
                   ,PROC_TYPE
                   ,MATNR                                              
 
                )
              select LPAD(ROWNUM,4,0) AS ECO_SEQ
                    ,AA.ECO_NO
                    , AA.PROC_TYPE
                    , AA.P_ITEM_NUMBER AS MATNR
              from                                                                                                                                      
              (                                            
               SELECT
                   A.CHANGE_NUMBER AS ECO_NO
                  ,CASE WHEN CHANGE_OUT = A.ID THEN 'D'
                         WHEN CHANGE_IN  = A.ID THEN 'A' END  AS PROC_TYPE
                  ,I.ITEM_NUMBER   AS  P_ITEM_NUMBER      
                FROM CHANGE     A
                    ,REV        R
                    ,ITEM       I
                    ,ITEM_P2P3  P
                    ,BOM        B
                    ,REFDESIG   C
                    ,AGILE_FLEX F
                WHERE  A.CHANGE_NUMBER   = mF_ECO_NO   
                 AND  I.ITEM_NUMBER     = sF_ITEM    
                 AND  B.CHANGE_OUT  != B.CHANGE_IN
                  AND (B.CHANGE_IN = A.ID OR B.CHANGE_OUT=A.ID)
                  AND  B.ITEM      = R.ITEM
                  AND  I.ID        = R.ITEM
                  AND  R.CHANGE    = A.ID
                  AND  B.ITEM_NUMBER = P.ITEM_NUMBER
                  AND  B.ID        = C.BOM(+)
                  AND  B.ID        = F.ROW_ID (+)
                  AND  B.ITEM      = F.ID (+)
                  AND  F.ATTID(+) = '1036'
                  AND  F.CLASS(+)  = '10000'
                 order by c_item_number, B.CREATED               
                  ) AA

 

 

 

 

박성빈(빈이님)님이 2013-12-09 17:53에 작성한 댓글입니다.

박성빈님 답변 감사합니다

죄송하지만 자세히좀 설명 해주세요 ㅜㅜ

진현철님이 2013-12-09 17:53에 작성한 댓글입니다. Edit

자세히 풀어서 다시 적었어요~_~;;

박성빈(빈이님)님이 2013-12-09 17:54에 작성한 댓글입니다.

답변 정말 감사드립니다

진현철님이 2013-12-09 19:13에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40336[문의] 계정에 테이블스페이스 추가하는 방법 문의드립니다 [3]
임철수
2013-12-11
6110
40335시퀀스 권한 문제... [1]
김정훈
2013-12-10
6322
40334알파벳,숫자 조합 순차 채번 문의 [3]
등촌블루스
2013-12-10
8688
40332select 후 insert 질문 드립니다 [5]
진현철
2013-12-09
7007
40331계층구조 상위 집계 방법에 대하여 문의드립니다. [6]
김흥수
2013-12-06
7791
40330outter조인을 할 수 없는 커리문이라서 문의 드립니다. [11]
야간비행
2013-12-06
7841
40329select 할때 order by 질문 드립니다 [7]
진현철
2013-12-06
6862
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다