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
운영게시판
최근게시물
Informix Q&A 2505 게시물 읽기
No. 2505
질의문에서 조건에 해당하는 값을 불러오고 싶습니다...(내용)
작성자
홍순범
작성일
2008-05-26 08:57
조회수
6,466

심리검사를 했는데
한 테이블에는 심리검사 목록을 관리하는 테이블입니다.

<table1>
년도, 대구분, 소구분, 점수 from , 점수 to, 결과
2008   0001     0001         0             39       심리적 곤란
2008   0001     0001         40           79       상당한 심리적 곤란
                                           .
                                           .
                                           .
2008   0001     0012         0           30        반항적


테이블에 이런식의 데이터가 이렇습니다.
또 한테이블은

 <table 2>
심리검사를 한 결과 테이블인데
년도, 수험번호, i_1, i_2, i_3 - - -... i_63
2008   11324      27   40   67

이런식의 두 테이블이 있는데

결과값(table2)를 가지고 (table1)에 해당하는 점수의 결과값을 가지고 오는게 목적인데 잘 안되서 글올립니다.
조언 부탁드립니다.

(table1)의 소구분 0001이 (table2)의 i_1
(table1)의 소구분 0002이 (table2)의 i_2
이런식의 데이타 입니다.

이렇게 해서 얻고자 하는 데이타 형식이
결과값을 모아서 검사총평에
"심리적 곤란, - - - ... , 반항적"
이런식으로 데이타를 얻고 싶습니다 답변 부탁드립니다.

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

위의 내용처럼 Table을 임시로 만들어서 Test해 보았습니다.

CREATE TABLE TXT1 (
 YEAR CHAR(4),
 GUN1 CHAR(4),
 GUN2 CHAR(4),
 FROM INT,
 TO  INT,
 RESULT VARCHAR(100)
);

INSERT INTO TXT1 VALUES ('2008', '0001', '0001', 0, 39, '심리적 곤란');
INSERT INTO TXT1 VALUES ('2008', '0001', '0001', 40, 79, '상당한 심리적 곤란');
INSERT INTO TXT1 VALUES ('2008', '0001', '0001', 80, 100, '미쳤음');
INSERT INTO TXT1 VALUES ('2008', '0001', '0002', 0, 39, '반항적');
INSERT INTO TXT1 VALUES ('2008', '0001', '0002', 40, 79, '폭력적');
INSERT INTO TXT1 VALUES ('2008', '0001', '0002', 80, 100, '돌아이');
INSERT INTO TXT1 VALUES ('2008', '0001', '0003', 0, 39, '행복');
INSERT INTO TXT1 VALUES ('2008', '0001', '0003', 40, 79, '보통');
INSERT INTO TXT1 VALUES ('2008', '0001', '0003', 80, 100, '우울');

CREATE TABLE TXT2 (
 YEAR CHAR(4),
 SNUM CHAR(5),
 I_1  INT,
 I_2  INT,
 I_3  INT
)

INSERT INTO TXT2 VALUES ('2008', '11324', 27, 40, 67);
INSERT INTO TXT2 VALUES ('2008', '11325', 41, 33, 13);
INSERT INTO TXT2 VALUES ('2008', '11326', 77, 55, 44);
INSERT INTO TXT2 VALUES ('2008', '11327', 90, 88, 87);

위와 같은 Table과 데이터가 존재 할때 문의 하신 방법으로 쿼리를 만들려면
아래와 같이 하면 되지 않을까요?


SELECT
 YEAR,
 SNUM,
 (SELECT RESULT
 FROM TXT1
 WHERE GUN1 = '0001'
 AND GUN2 = '0001'
 AND TXT2.I_1 BETWEEN FROM AND TO) ||','||
 (SELECT RESULT
 FROM TXT1
 WHERE GUN1 = '0001'
 AND GUN2 = '0002'
 AND TXT2.I_2 BETWEEN FROM AND TO) ||','||
 (SELECT RESULT
 FROM TXT1
 WHERE GUN1 = '0001'
 AND GUN2 = '0003'
 AND TXT2.I_3 BETWEEN FROM AND TO) RESULT
FROM TXT2

서재성(극악서생)님이 2008-05-28 18:39에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2508TEMP 테이블에 대해 질문드립니다. [3]
이준식
2008-06-05
7793
2507인포믹스가 윈도우용도 있나요? [2]
이준식
2008-05-30
7591
2506프로시저 실행시 오류 질문드립니다. [1]
홍순범
2008-05-27
6806
2505질의문에서 조건에 해당하는 값을 불러오고 싶습니다...(내용) [1]
홍순범
2008-05-26
6466
2504Locale에 대하여 한방에 알려주시면 감사하겠습니다. [1]
거북이
2008-04-24
8675
2503[TIP] Free informix online Certification Assesment Testing 정보
김선규
2008-04-16
7020
2502쿼리 도와주세요 [1]
하늘
2008-04-04
6942
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다