오라클 쿼리 질문이요. 0 1 2,408

by ekekekek [Oracle 기초] oracle [2018.05.09 09:42:48]


 
SELECT C.* 
FROM(
  SELECT ROWNUM RNUM, B.*
  FROM(
    
)C; 

안녕하세요. 지금 spring을 활용해서 게시판을 만드는중인데

회원 id를 사용해서 로그인을 하면 권한리스트가 출력이되고

id의 세션값을 활용해서 해당id의 정보값을 읽어와서 권한상태를 출력하고 있습니다.

id의 부서값이 한가지이면 신청할때  한건만 insert가 되는데 부서가 여러개 이면

부서의 개수만큼 insert가 되게 만들어져 있습니다.

insert는 문제없이 잘되는데 select해올때 NVL 이있는 부분이 단일행 오류가 출력이되는데

권한은 일단 다 출력을 시키고 로그인한 id의 상태값에 따라 중복된 데이터가 출력이 되도 상관없어서 다출력시키고 싶은데

어떤식으로 해결을 해야될지 감이안오는데 어떻게 해결해야할까요.

(1번표의 데이터 처럼 출력이 되는상태인데 2번표처럼 출력하고 싶습니다.)

1번표

이름 부서 연락처 승인상태
1 1 1 1
2 2 2 2
3 3 3 2

 

2번표

이름 부서 연락처 승인상태
1 1 1 1
1 2 1 2
2 2 2 2
3 3 3 2
by 마농 [2018.05.09 11:34:44]

1. 질문하신 부분은
  - 스칼라서브쿼리 대신 아우터 조인을 사용하시면 됩니다.
  - 단 조인 후 계층 전개가 아닌 계층 전개 후 조인하셔야 합니다.
2. 질문 외적인 부분에서
  - Distinct 를 왜 사용했을까요?
  - 계층 전개 조건이 잘못되어 중복이 발생한 것은 아닐런지?
  - 질문하신 부분보다 이게 훨씬 더 중요하다고 생각됩니다.
  - 왜 중복이 발생되었는지 확인해 보세요.

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