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
운영게시판
최근게시물
MS-SQL Q&A 790 게시물 읽기
No. 790
쿼리문인데..같은 반 친구 찾는거염...ㅠㅠ
작성자
귀두박근
작성일
2003-04-30 13:48
조회수
4,203

안녕하세요..

 

예를 들어 설명하겠습니다.

옛날 국민학교 다닐적에 같은 반이던 친구만 찾으려고 하거든요.

a,b,c,d,e 라는 다섯명이 있다고 할께염

 

1학년때는 a,b만 같은반

2학년때는 a,c만 같은반

3학년때는 a,d만 같은반

4학년때는 a,e만 같은반

5학년때는 b,c만 같은반

6학년때는 b,d만 같은반

 

이렇게 됐을 때..a,b가 같은 반이었던 학년을 찾는 쿼리문은

어떻게 되나염?

 

쉬울 듯 안 되는데...

 

그럼 좋은 하루되세요

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

테이블 구성에 따라 다른수 있을것 같군요.

일단

CREATE TABLE [TABLE1] (

[hakyun] [int] NOT NULL ,

[h_1] [varchar] (50) NULL ,

[h_2] [varchar] (50) NULL

) ON [PRIMARY]

 

--------------------

hakyun h_1 h_2

--------------------

1 a b

2 a c

3 a d

4 a e

5 b c

6 b d

--------------------

이런식으로 입력이 된 테이블이다면

 

h_1컬럼에 a,b를 가진 자료를 가져온다. --- a

union all (union 은 자료내용이 같으면 distinct 하기 때문에)

h_2컬럼에 a,b를 가진 자료를 가져온다. --- b

 

만약 a에도 있고 b에도 있으면 그 학년이 같이다녔던 학년이 되겠죠. 결국은 학년의 count가 2이상일때는

같은 학년에 다녔던 경우가 되겠죠.

 

만약 h_3,h_4,.....늘어날경우는 union 부분에 같은 형식으로 추가해주시면 될듯

이 방법은 하나의 방법입니다. 이게 정답이라고 할수 없고, 테이블을 어떻게 설계하고 자료를 저장하는냐에 따라 쿼리의 내용은 달라 질수 있습니다. 참고만하세요. 응용하시던지.

 

 

SELECT hakyun, COUNT(*)

FROM (SELECT hakyun

FROM TABLE1

WHERE h_1 IN ('a', 'b')

UNION ALL

SELECT hakyun

FROM TABLE1

WHERE h_2 IN ('a', 'b')) AS main

GROUP BY hakyun

HAVING COUNT(*) > 1

미르님이 2003-05-13 17:20에 작성한 댓글입니다.

학생 테이블이 학생코드(UNIQUE),학년,반 의 정보를 갖을 때,

 

select A.(학년)

from (학생테이블) A, (학생테이블) B

where A.(학생코드) = 'a'

and B.(학생코드) = 'b'

and A.(학년) = B.(학년)

and A.(반) = B.(반);

심심이님이 2003-05-19 17:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
794테이블만든다음에여 [1]
김영진
2003-05-08
3548
793쿼리문에 관한 질문입니다 ... 어떻게 해야 할지요.. [1]
김경태
2003-05-07
4054
792xp에 설치를 하려면? [1]
최창순
2003-05-06
4171
790쿼리문인데..같은 반 친구 찾는거염...ㅠㅠ [2]
귀두박근
2003-04-30
4203
789왕초보 이게 안되네여... [2]
나그네
2003-04-30
4071
788MS-SQL2000 오류 메세지 [1]
김정훈
2003-04-29
4441
791┕>Re: MS-SQL2000 오류 메세지
김수천
2003-05-05 12:54:30
4386
785일정 갯수씩 검색할 방법이.. [1]
황준상
2003-04-26
4338
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다