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 38732 게시물 읽기
No. 38732
이상하게 안되는 조인..ㅠ
작성자
후덜덜
작성일
2011-07-25 05:43ⓒ
2011-07-25 05:49ⓜ
조회수
4,250

select a.id,a.price,b.reader_yn from (select id,price from payment) a, (select id, reader_yn from team) b where a.id=b.id(+)

 

결제정보(payment)가 있는  모든 회원을 출력하는데 리더인 사람을 구별해서 출력을 하라.. 뭐 그런 쿼리입니다.

결제정보는 3명,  팀엔 리더가 한명 있는데 그 한명이 리더입니다. 원하는 결과는

 

id                     price                        reader_yn

tester1           10000                             

tester2            20000                             Y

tester3            30000    

 

이며

                        

b.id(+)를 해본 이유는  team 엔 아래의 한줄만 있기 때문입니다.

tester2            20000                             Y

 

하지만 나오는 결과문은..

 

 

id                     price                        reader_yn

tester1           10000                             

tester2            20000                             

tester3            30000    

 

어떻게 수정해야 원하는 쿼리를 얻을수 있을지 문의 드립니다. 지금까지 잠못드는 허접한 프로그래머가..ㅠ

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

with a as (
select 'tester1' id, 10000 price from dual union all
select 'tester2', 20000 from dual union all
select 'tester3', 30000 from dual
),   b as (
select 'tester2' id, 20000 price, 'Y' reader_yn from dual
)
select a.id, a.price, b.reader_yn
  from a
     , b
 where a.id = b.id (+)


제가 만든 쿼리에서는 문제가 없고, 질문자께서 올리신 쿼리에도 문제는 없어 보입니다.
다만, 굳이 subQuery (in-line view)를 사용하지 않아도 됩니다.
subQuery에서 연산을 반드시 해야 메인 쿼리의 결과를 보장하지 않는 한 사용하지 않을셔도 됩니다. 

뭐가 안된다는 것인지 ?

知音(sunnylee72)님이 2011-07-25 09:12에 작성한 댓글입니다.
이 댓글은 2011-07-25 09:12에 마지막으로 수정되었습니다.

각 테이블의 id 컬럼의 데이터 타입 확인하세요.

varchar2 와 char 타입간의 비교시 발생될수 있는 경우입니다.

char 타입의 경우 자리수에 맞게 공백이 채워질 수 있습니다.

마농(manon94)님이 2011-07-25 09:49에 작성한 댓글입니다.

varchar2 와 char 타입간의 비교시 발생했던 문제이네요..ㅠ

 

정말 감사합니다^^

후덜덜님이 2011-07-25 14:22에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
38736중복제거 질문 ^^ 급합니다. [1]
이병헌
2011-07-26
4604
38735세로를 가로로 변환하는 쿼리_재문의 [6]
레이첼
2011-07-25
12274
38733여러개 컬럼값중 상위 2개값 가져 오기 [1]
박상준
2011-07-25
5312
38732이상하게 안되는 조인..ㅠ [3]
후덜덜
2011-07-25
4250
38731고수님들!! ORA-24344 에러좀 봐주세요~~
박용선
2011-07-23
9855
38730오라클 10g 설치방법2
김연오
2011-07-23
3700
38729동의어의 해석이 불가능합니다. [1]
레이첼
2011-07-22
4902
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다