Background Image

FORUM

2009.12.05 03:48

oid select 질문입니다.

조회 수 12668 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

자료실에 있는 큐브리드를 이용한 데이터베이스 이해와 실습의 문제에서

create table items ( name varchar(10), price int, primary key (name) );  

create table gamuser( id varchar(10), passwd varchar(10), inventory set(items), primary key(id) );

이렇게 테이블을 생성후에
insert into items values ( '노랑머리', 500 );
insert into items values ( '파랑머리', 600 );
insert into items values ( '선글라스', 300 );
insert into items values ( '장갑', 200 );
insert into items values ( '목걸이', 400 );  
--
insert into gamuser values ('user1', 'abcd', {(select items.identity from items where name = '노랑머리')});
insert into gamuser values ('user2', '1234', {(select items.identity from items where name = '노랑머리'),
                                                                (select items.identity from items where name = '선글라스')});
 이렇게 데이터를 넣은후에
select * from gamuser where id = 'user1';
gamuserd 테이블의 user1을 조회하면 inventory의 값이 oid 로 나오는데요.

주소를 따라간 값을 출력하려면 어떻게 해야하나요.


  • ?
    seongjoon 2009.12.07 00:56
    다음과 같은 쿼리를 사용하며 될 듯 싶습니다.
    select * from items where items in (select inventory from gamuser where id = 'user1');
    원하시는 결과가 아니시라면 댓글 주세요.
  • ?
    남재우 2009.12.09 06:21
    OID 를 사용하여 다른 테이블을 참고하는 경우에는 path expression 방법을 씁니다. 즉 <OID 를 가지고 있는 필드명>.<참고하는 테이블의 필드명> 형태로 사용합니다.
    select items.name from gamuser 와 같이 사용할 수 있습니다. 하지만 예에서는 단순히 OID를 참고하고 있는 것이 아니라 set 형태로 참고하고 있으므로 set derived table 형태와 같이 사용해야 합니다. set 을 가상의 테이블로 만들어 질의를 처리하는 것입니다. 주의할 점은 원래 하나의 레코드가 set 안의 원소 개수만큼 레코드가 늘어나므로 주의하실 필요가 있습니다.
    select item.name, item.price from gamuser, table(itemas) as t(item) 과 같이 질의 합니다. items 라는 set 필드를 t 라는 가상의 테이블로 만들고 가상의 테이블상의 필드명을 item 이라고 정의하는 것입니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 21 admin 2024.04.23 132695
445 php 5.3.1 / php extension 컴파일 오류 있네요... 1 disablerain 2009.12.11 22327
444 mysql로 마이그레이션... 1 썬해바라기 2009.12.10 12187
443 큐브리드를 지원하는 모델링 툴이 있나요?? 1 십칠미리 2009.12.10 13120
442 php 모듈을 로딩하지 못합니다. 해결방법이.... 1 오케이디바이스 2009.12.10 13669
441 중국어 XP에서는 큐브리드 ODBC를 사용 할 수 없나요?? 5 푸른잔디 2009.12.10 13102
440 큐브리드 매니저 제거 1 푸른잔디 2009.12.09 12156
439 csql로 연결은 되는데 쿼리가 안되네요 5 하나엘 2009.12.08 16218
438 DB에 자료가 저장이 안되는데 도움을 부탁드립니다. 1 푸른잔디 2009.12.07 10998
437 mysql의 sql_calc_found_rows 에 대응되는 큐브리드 명령이 있나요? 3 차오이 2009.12.07 27144
436 파워빌더10.2에서 ODBC설정에 대한 문제 1 ksk 2009.12.05 25457
435 처음 사용자 1 김대빵 2009.12.05 11713
» oid select 질문입니다. 2 마준 2009.12.05 12668
433 오류 좀 확인해주세요ㅜㅜ 2 푸른잔디 2009.12.04 25065
432 numeric과 bigint 1 하나엘 2009.12.04 16918
431 unload / load 에러 관련 objects, schema 정보관련 질문입니다. 2 potter 2009.12.04 13201
430 unload/load 관련한 질문입니다. 4 potter 2009.12.04 13634
429 jsp에서 DB가 연결이 안됩니다.ㅡㅜ; 4 민짱8 2009.12.03 17563
428 트랜잭션처리 시간지연에 대한 문의입니다. 2 file 히로키 2009.12.03 16749
427 php 모듈 관련해서 의견을 구합니다. 2 potter 2009.12.03 11586
426 DB 삭제 후 생성?? 1 푸른잔디 2009.12.02 14071
Board Pagination Prev 1 ... 186 187 188 189 190 191 192 193 194 195 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales