2013-01-09 4 views
0

Korisnik_ID, Artikl_IDOcjena_ID 필드로 구성된 테이블 "OcjeneKorisnika"가 있습니다. 테이블에 나는 Korisnik_ID 12 엔트리가 있고 Arikl_ID 9Artikl_ID 13이고 어떤 값은 Ocjena_ID입니다. 아래모든 요구 사항을 충족하지 못하는 항목 제거

질의 검색 예컨대 Korisnik_ID 12

SELECT Korisnik_ID, 
     Artikl_ID, 
     Ocjena_ID 
FROM OcjeneKorisnika 
WHERE (Artikl_ID IN 
     (SELECT Artikl_ID 
      FROM Kupac_Narudzba 
      WHERE (Korisnik_ID = 12))) EXCEPT 
    SELECT Korisnik_ID, 
     Artikl_ID, 
     Ocjena_ID 
    FROM OcjeneKorisnika WHERE Korisnik_ID = 12 
ORDER BY Korisnik_ID 

제외한 Korisnik_ID, Artikle_IDOcjena_IDkorisnik_ID 11이 13하지만 2, ... 만 값을 가지고 대 Ocjena_ID의 값 Artikl_ID 9가 아닌 Artikl_ID13 (테이블 중)

모두 표시하는 방법 Korisnik_ID은 모두 Artikle_ID (9 및 13)에 대해 Ocjena_ID의 값을 가지며 Korisnik_IDs을 제외하면 Artikl_ID (9 또는 13)에 대한 값만 포함합니다.

샘플 소스 데이터 : 나는이 필요

Korisnik_ID | Artikl_ID | Ocjena_ID 
1 | 9 | 3 
2 | 9 | 4 
2 | 13 | 5 
9 | 9 | 2 
10 | 9 | 3 
10 | 13 | 4 
10 | 15 | 2 
12 | 9 | 3 
12 | 13 | 2 

출력 :

Korisnik_ID | Artikl_ID | Ocjena_ID 
2 | 9 | 4 
2 | 13 | 5 
10 | 9 | 3 
10 | 13 | 4 
+1

일부 샘플 데이터로 질문을 업데이트하고 예상되는 결과를 알려 주시면 기쁩니다. – bonCodigo

+0

테이블에 내가 가지고 : Korisnik_ID | Artikl_ID | Ocjena_ID 1 | 9 | 3 2 | 9 | 4 2 | 13 | 5 9 | 9 | 2 10 | 9 | 3 10 | 13 | 4 10 | 15 | 2 12 | 9 | 3 12 | 13 | 2 출력이 필요합니다. Korisnik_ID | Artikl_ID | Ocjena_ID 2 | 9 | 4 2 | 13 | 5 10 | 9 | 3 10 | 13 | 4 Tnx에 미리 있습니다. – user1952467

+0

죄송합니다 위의 서식을 지정하는 데 문제가 있습니다! – user1952467

답변

0

귀하의 문제 설명이 매우

(귀하의 코멘트에서) 샘플 데이터와 일치하지 않는 것 이 검색어는 Artikl_ID에 대해 적어도 9와 13이 모두 포함 된 행을 반환합니다 (단인 Korisnik_ID과 비슷할 수도 있음).15). 것 샘플 데이터 결과를 감안할 때

with matches as (
    select Korisnik_ID from OcjeneKorisnika where Artikl_ID in (9,13) 
    group by Korisnik_ID having count(distinct Artikl_ID) = 2 
) 

select o.* from OcjeneKorisnika o 
join matches m on o.Korisnik_ID = m.Korisnik_ID 
where o.Artikl_ID in (9,13) 

: 그건 당신이 다음 질문을 편집하고 당신이 원하는 것을 명확히하기 위해 시도해야 무엇을 찾고 있는지없는 경우

Korisnik_ID Artikl_ID Ocjena_ID 
----------- ----------- ----------- 
2   9   4 
2   13   5 
10   9   3 
10   13   4 
12   9   3 
12   13   2 

.

+0

오, 내 질문에 2 년 전에 질문 한 것을 알지 못했습니다 ...OP가 오래 간 것으로 생각해. – jpw

관련 문제