-------------------------
The universe is run by the complex interweaving of three elements: matter, energy, and enlightened self-interest.
- G'kar, Babylon 5
select distinct(a.number) from table a, table b, table c
where a.number = b.number and b.number = c.number
and a.alpha in (입력한것) and b.alpha in (입력한것)
and b.alpha <> a.alpha and c.alpha in (입력한것)
and c.alpha <> a.alpha and c.alpha <> b.alpha
물론 입력한것이 더 많으면, 쿼리가 더 늘어나겠죠..
이보다 더 간단한 쿼리식이 존재할것 같긴 하지만,
일종의 통계쿼리인 관계로 느린건 어쩔수 없습니다.
alpha컬럼을 기준으로 새로운 테이블을 생성하고,
그 테이블을 이용하여, 쿼리하시는것이 좋다고 생각합니다.
조금 더 조건과 상황을 확실하게 명시해 주시는게 좋을 듯 합니다.
조금 더 조건과 상황을 확실하게 명시해 주시는게 좋을 듯 합니다.
저것만 봐서는 어디까지 쿼리에서 하겠다는 건지...
한줄 쿼리로 저걸 하시겠다는 건가요?
-------------------------
The universe is run by the complex interweaving of three elements: matter, energy, and enlightened self-interest.
- G'kar, Babylon 5
제가 질문을 모호하게 했나요?? 글적..
제가 질문을 모호하게 했나요?? 글적..
여러 집합이 표현되어 있을때, 주어진 집합을 포함하는 집합을 구하고 싶은 겁니다.
위의 예에서 보면 1 이라는 집합은 (A, B, C) 로 이루어 진것이고, 2 라는 집합은 (A, B)로 이루어 진것이죠..
대충 테이블은 set_name, entry 라는 두 필드를 가진것으로 생각한 것이구요.
만약 사용자가 (A,B,C) 라는 집합을 지정했을때, 이 집합을 포함할 수 있는 건 1번 집합 뿐일 것이구요, 사용자가 (A,B) 라는 집합을 지정했을때는 1, 2 집합이 모두 포함할 수 있게 되는것이죠..
이렇게 사용자가 지정한 집합을 포함하는 집합을 쉽게 찾아낼 수 있는 쿼리를 원한 것이었습니다.
아직 이렇게 하면 좋겠다라는게 떠오르지 않아서요.. ^^;;
select distinct(a.number) from table a,
select distinct(a.number) from table a, table b, table c
where a.number = b.number and b.number = c.number
and a.alpha in (입력한것) and b.alpha in (입력한것)
and b.alpha <> a.alpha and c.alpha in (입력한것)
and c.alpha <> a.alpha and c.alpha <> b.alpha
물론 입력한것이 더 많으면, 쿼리가 더 늘어나겠죠..
이보다 더 간단한 쿼리식이 존재할것 같긴 하지만,
일종의 통계쿼리인 관계로 느린건 어쩔수 없습니다.
alpha컬럼을 기준으로 새로운 테이블을 생성하고,
그 테이블을 이용하여, 쿼리하시는것이 좋다고 생각합니다.
답변감사합니다.
우선 답변 감사합니다.
사용자가 지정한 집합의 크기만큼 테이블을 중복하여 값을 얻어내는 방식이군요.
이런식으론 생각해보지 못했는뎅.. 감사합니다.
동적인 sql 구성으로 어떻게든 만들어 볼 수 있겠지만, 집합의 크기가 늘어날수록 쿼리가 너무 길어지고 보기 안좋아지겠네용.. ^^;;; ;
alpha 컬럼을 기준으로 테이블을 생성하는게 좋을것 같다고 하셨는데, 어떤 스키마를 가진 테이블이 좋을까요?
자답입니다.
괜찮은 쿼리 인지는 모르겠지만....
나름대로는 쓸만한 아이디어 인것 같아서 다음과 같이 하기로 했습니다.
댓글 달기