Background Image

FORUM

2009.12.05 03:48

oid select 질문입니다.

조회 수 9682 추천 수 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 이라고 정의하는 것입니다.

  1. No Image notice by admin 2024/04/23 by admin
    Views 52 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. cubrid_prepare()로 데이타 입력시 질문입니다.

  4. row level lock 이 지원되나요?

  5. 한글이 깨지네요

  6. restordb를 사용후 다른 문구가...

  7. Unloaddb의 문제점

  8. mysql로 마이그레이션하는방법좀..

  9. 큐브리드 6.6에서 큐브리드 2008로 복구하는 방법좀..

  10. 큐브리드 테이블 스페이스 생성 스크립트 정보 확인 방법

  11. 파워빌더 10.5 ODBC 연결 오류

  12. 자료 저장시 속도가 느려집니다.

  13. php 5.3.1 / php extension 컴파일 오류 있네요...

  14. mysql로 마이그레이션...

  15. 큐브리드를 지원하는 모델링 툴이 있나요??

  16. php 모듈을 로딩하지 못합니다. 해결방법이....

  17. 중국어 XP에서는 큐브리드 ODBC를 사용 할 수 없나요??

  18. 큐브리드 매니저 제거

  19. csql로 연결은 되는데 쿼리가 안되네요

  20. DB에 자료가 저장이 안되는데 도움을 부탁드립니다.

  21. mysql의 sql_calc_found_rows 에 대응되는 큐브리드 명령이 있나요?

  22. 파워빌더10.2에서 ODBC설정에 대한 문제

Board Pagination Prev 1 ... 173 174 175 176 177 178 179 180 181 182 ... 200 Next
/ 200

Contact Cubrid

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