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 38276 게시물 읽기
No. 38276
[질문] 2개의 컬럼 데이터가 섞여 있는 테이블 조인
작성자
군쓰(choikc1207)
작성일
2010-12-30 08:49
조회수
3,012
안녕하세요. 쿼리 도움좀 요청드립니다.
 
 
테이블 a 는 종목정보테이블로.. s_code(종목단축코드), code(종목코드), name(종목명) 이렇게 3개 필드로 되어있고..
 
테이블 b 는 가격테이블로 cd(종목코드), price(가격) 이렇게 되어 있는데요..
 
문제는 b테이블에 있는 cd(종목코드)가 종목단축코드와 종목코드가 섞여있다는 겁니다.
 
 
종목단축코드는 6자리 문자열로 길이가 정해져있다고 했을때..
 
두 테이블을 조인하는 가장 좋은 방법은 무엇일까요??
 
 
잘못된(?) 예시
 
with a as (
  select 'A00001' s_code, 'KR11111111' code, '종목1' name from dual union all 
  select 'A00002' s_code, 'KR11111112' code, '종목2' name from dual
),
b as (
  select 'A00001' as cd, 50000 price from dual union all 
  select 'KR11111112' as cd, 300000 price from dual
)
select a.name, b.price
from a, b
where a.s_code = b.cd
-- where a.code = b.cd
 
이 글에 대한 댓글이 총 3건 있습니다.

s_code와 code 둘다 유니크만 보장된다면

 

SELECT B.CD, A.NAME, B.PRICE
FROM A, B
WHERE A.S_CODE = B.CD
   OR A.CODE = B.CD

암비님이 2010-12-30 09:08에 작성한 댓글입니다. Edit

 WHERE b.cd = a.s_code OR b.cd = a.code
 WHERE b.cd IN (a.s_code, a.code)
 WHERE b.cd = ANY (a.s_code, a.code)

마농(manon94)님이 2010-12-30 10:20에 작성한 댓글입니다.

네.. 감사합니다!

군쓰(choikc1207)님이 2010-12-30 11:04에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38279고수님들 도와주세요!! 쿼리로 될 수 있을까요?? [1]
MyEeMa
2010-12-30
3465
38278미사용 index 확인법? [1]
taiji
2010-12-30
3567
38277일수 계산 [2]
감사
2010-12-30
4101
38276[질문] 2개의 컬럼 데이터가 섞여 있는 테이블 조인 [3]
군쓰
2010-12-30
3012
38275쿼리질문입니다. [1]
초보.
2010-12-30
2795
38274index에 대한 문의 입니다. [1]
궁금이
2010-12-29
3059
38273union all 관련질문입니다 [3]
서창원
2010-12-29
5710
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다