쿼리 문의드립니다 최소값을 구하는 쿼리입니다 ㅜㅜ 0 7 856

by 반댕이 [SQL Query] 최소값 [2018.04.02 17:07:11]



 SELECT (select bbbb
                   from banana mng
                where mng.aaaa = a.aaaa) as mms1         
      	        
               ,(select cccc
                   from banana mng
                 where mng.aaaa = a.aaaa) as mms2        
      	        
    FROM apple a 

   INNER JOIN orange CR 
   	 ON CR.aaaa = a.aaaa

같은 쿼리 입니다. 처음 등록된 bbbb,cccc의 값을 구해야 합니다. ㅠㅠ
기준은 aaaa값이 제일 처음인 것입니다 .ㅠㅠ 

 

by 우리집아찌 [2018.04.02 17:11:21]

기준이 AAAA값이 제일 처음인것이 무슨뜻인가요?

처음이면 날짜나 기타등등 기준이 있을것 같은데요.

아니면 BBBB중 가장 작은값이나.


by 마농 [2018.04.02 17:11:45]

질문이 모호하고 막연하네요.
실제 예시 자료를 표형태로 보여주세요.
원본 테이블 내역 ==> 원하는 결과 표
DB 종류도 명시해 주세요.


by 반댕이 [2018.04.02 17:16:13]

원본 쿼리 입니다.

SELECT *
        FROM (
            
             SELECT 
       
                  (select MBER_NM
                 from WRKINNOV_CONSULT_MNG mng
                where mng.CONSULTING_ID = a.CONSULTING_ID) as mng_MBER_NM                -- 사업장관리책임자
                  
                    FROM apple a /*일터혁신:컨설팅신청*/
                
                    INNER JOIN orange CR /*공통-신청*/
                    ON CR.REQST_CM_NO = a.REQST_CM_NO
                
                    INNER JOIN CO_SRVC CS /*공통-서비스*/
                    ON CS.SRVC_NO = CR.SRVC_NO
                    AND CS.REQST_FORM_CODE IN ('30', '31')
                
                    LEFT OUTER JOIN (SELECT ROW_NUMBER() OVER (PARTITION BY REQST_CM_NO ORDER
                    BY REGIST_DT DESC NULLS LAST) RN,
                    A.* FROM CO_APP_CHARGER A WHERE CHARGER_SE_CODE = '9') c --신청담당자정보
                    ON (c.RN = '1' AND c.REQST_CM_NO = a.REQST_CM_NO)
                
                    LEFT OUTER JOIN CO_REQUEST_CMPNY_INFO d /*공통-신청기업정보*/
                    ON d.REQST_CM_NO = a.REQST_CM_NO
                    AND d.CMPNY_NO = CR.CMPNY_NO
                
                    LEFT OUTER JOIN CO_REQST_CMPNY_YEARLY_INFO e /*신청기업년도별정보*/
                    ON e.REQST_CM_NO = a.REQST_CM_NO
                    AND e.CMPNY_NO = CR.CMPNY_NO
                    AND e.YEAR = CS.SRVC_YEAR - 1
                
                    LEFT OUTER JOIN (SELECT ROW_NUMBER() OVER (PARTITION BY REQST_CM_NO ORDER
                    BY REGIST_DT DESC NULLS LAST) RN,
                    A.* FROM CO_REQST_CMPNY_UNION_INFO A) f --신청기업노조정보
                    ON (f.RN = '1' AND f.REQST_CM_NO = a.REQST_CM_NO)
                
                    LEFT OUTER JOIN WRKINNOV_CONSULT_ADD_INFO Z
                    ON Z.CONSULTING_ID = a.CONSULTING_ID
                
                    WHERE 1=1
            
                 ORDER BY A.CONSULTING_ID DESC 
                 
                  ) ww
        
          WHERE 1=1

 

원하는 결과표는 최초로 등록된 사업장관리책임자만 가지고 오고 싶은것입니다.

DB는 오라클 11g 쓰고 있습니다.


by 우리집아찌 [2018.04.02 17:21:56]

처음이라는 기준 컬럼이 어떤것인가요?


by 반댕이 [2018.04.02 17:30:34]

그 기준이 애매합니다 ㅜㅜ

컬럼에 사업장관리책임자가 최초다 하는 기준이 없어서 컨설턴트 아이디가 순차적으로 올라가는 형태여서  

WRKINNOV_CONSULT_MNG 테이블안에 컨설턴트 아이디가 있어서  컨설팅 아이디내에 작은 컨설턴트 아이디를 가지고 있는

사업장 관리 책임자가 최초 등록자이다 이리 보고 뽑아 올려 합니다 ㅜㅜ

두서없이 올려서 죄송합니다 ㅜㅜ


by 우리집아찌 [2018.04.02 18:07:40]

진짜 애매하네요... ㅡㅡ;


by 마농 [2018.04.02 17:37:31]
(
SELECT MIN(mber_nm) KEEP(DENSE_RANK FIRST ORDER BY consultant_id) mber_nm
  FROM wrkinnov_consult_mng mng
 WHERE mng.consulting_id = a.consulting_id
) AS mng_mber_nm

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입