DB/Oracle

검색 건이 여러개일 경우 원하는 데이터를 뽑아오자.

Edward. K 2007. 11. 30. 14:24
반응형

/*
 * 검색 데이터중 복수개의 데이터가 검색될 경우.
 * 원하는 값만을 뺴오기 위한 쿼리.
 *  검색COLUM명 :  원하는 데이터 값
 *  검색TABLE명  : 테이블 명
 *  검색컬럼ALIAS_X : 검색데이터의 alias ( prepestatement 으로 세팅되는 값들)
 *  검색컬럼_X : 검색TABLE의 컬럴명
 *  정렬할컬럼명  : 원하는 (검색된 데이터들중 일정한 값을 지닌)컬럼
 */


SELECT 검색COLUM명     
FROM    
          (    
            SELECT   검색COLUM명
            FROM   
                          검색TABLE명  T,   
                          (   
                            SELECT ? AS 검색컬럼ALIAS_1,
                                        ? AS 검색컬럼ALIAS_2 ,
                                        ? AS 검색컬럼ALIAS_3 ,  
                                        ? AS 검색컬럼ALIAS_4,
                                        ? AS 검색컬럼ALIAS_5,
                                        ? AS 검색컬럼ALIAS_6  
                            FROM DUAL 
                          ) D    
            WHERE      NVL(T.검색컬럼_1,  '-') = NVL(D.검색컬럼ALIAS_1,  '-')  
                      AND NVL(T.검색컬럼_2,  '-') = NVL(D.검색컬럼ALIAS_2,  '-')   
                      AND NVL(T.검색컬럼_3,  '-') = NVL(D.검색컬럼ALIAS_3,  '-')  
                      AND NVL(T.검색컬럼_4,  '-') = NVL(D.검색컬럼ALIAS_4,  '-')  
                      AND NVL(T.검색컬럼_5,  '-') = NVL(D.검색컬럼ALIAS_5,  '-')  
                      AND NVL(T.검색컬럼_6,  '-') = NVL(D.검색컬럼ALIAS_6,  '-')  
            ORDER BY 정렬할컬럼명  DESC  
          )   
WHERE ROWNUM = 1  



반응형