2016-12-14 2 views
0

아래에 대한 쿼리를 작성하는 방법을 모르겠습니다.특정 값의 조합 찾기

내 표는 내가 두 매개 변수가 COL2에 존재하는 별개의 COL1 ID를 선택해야

col1 col2 
5 1 
5 5 
5 6 
5 7 
4 5 
4 8 
4 9 
4 3 
3 3 
3 5 

입니다. 예. 내가 6,7를 보낼 경우 그것은 나에게 보내야 5

+1

이 재귀 쿼리하지 않습니다 유의하시기 바랍니다 : 여기에 몇 가지 있습니다. 그에 따라 제목을 변경하십시오. –

+0

제목을 제안 해주세요. 도움이 될 것입니다 – noobProgrammer

+0

질문은 실제 테이블 정의 (CREATE TABLE 문)와 Postgres 버전을 제공해야합니다. –

답변

0

시도 :

SELECT col1 
FROM mytable 
WHERE col2 IN (6, 7) 
GROUP BY col1 
HAVING COUNT(DISTINCT col2) = 2 
+0

(DISTINCT가 중복되기를 바랍니다.) – Strawberry

+0

고유 한 제약 조건이 없으므로 DISTINCT가 필요합니다. – jarlh

1

이 가장 빠른 솔루션 중 아마도 : 그것은처럼

SELECT col1 -- already DISTINCT? 
FROM tbl t1 
JOIN tbl t2 USING (col1) 
WHERE t1.col2 = 6 
AND t2.col2 = 7; 

(col1, col2)PRIMARY KEY 또는 UNIQUE 제약 조건을 가정 일반적으로 구현됩니다. 그렇지 않으면 DISTINCT을 추가하십시오.

관계 분할을 구현하는 다른 많은 방법이 있습니다.