게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] 오라클 쿼리 좀 질문드려도될까요? ^^;
게시물ID : programmer_10243짧은주소 복사하기
작성자 : 연어쟁이
추천 : 1
조회수 : 587회
댓글수 : 4개
등록시간 : 2015/05/19 21:33:07
옵션
  • 베스트금지
  • 본인삭제금지
>>> 쿼리

SELECT a.*,  rownum as rn
FROM (SELECT  e.e_id, e.code, e.g_id, m.real_id
      ,CASE WHEN m.id_type='A' THEN m.names END AS m.e_name
      ,CASE WHEN m.id_type='B' THEN m.names END AS m.m_name
        FROM table1 e
        LEFT OUTER JOIN table2 m
        ON (e.e_id = m.g_id)
WHERE 1=1
 AND e_id = 'test'
 AND start_dt >= '20150401'
 AND end_dt <= '20150430'
GROUP BY
    e.e_id, e.code, e.g_id, m.real_id, m.e_name, m.m_name
ORDER BY lower(e.e_id), lower(e.g_id)
) a


>>> 오류내용
  1. 'FROM 키워드가 필요한 위치에 없습니다' (대략 3행쯤)
  2. e_name, m_name 컬럼명 앞에 붙인 별명 'm' 이 문제인가 싶어
      위치별로 하나씩 지워보았으나, 이런 경우 두 컬럼을 틀린 식별자로 인식





안녕하세요. 오라클 쌩초짜가 하다하다 막혀서 조심스레 질문드려봅니다... ㅜㅜ;

배경설명을 드리자면,  table1, table2 두 테이블을 위의 on 구문 조건대로 조인하고,
table2 에 있는 names 컬럼을 id_type 에 따라 분류하여 두 개의 새로운 컬럼
e_name, m_name 을 생성하고자 합니다.

문제는
CASE WHEN 구문을 포함하는 내부 select 문을 따로 추려서 쿼리를 날리면
결과가 제대로 나옵니다. (나온다고 믿고 싶습니다 ㅜㅜ;;)
그런데 저 쿼리에 구문을 삽입하면 위에 써놓은대로 오류가 나네요..

CASE WHEN 부분을 없애면 그런대로 조회가 되는걸 보면
CASE WHEN 부분이랑 열 지정 문제인 것 같은데 죙일 씨름해도 도통 감을 못잡겠네요..


고수분들의 조언과 고견을 조심스럽고 간절하게 청해봅니다.


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호