0

私はこのようなテーブルを持っています(見栄えの悪いテーブルで申し訳ありません)

bnavn | エムネコデ | グルン      
------------------------------
モットド | inf1300 | グループ10
モットド | inf2220 | グループ10       
アミルフ | inf1300 | グループ7    
アミルフ | inf2220 | グループ7    
ハンナム | inf1300 | グループ1    
ニナクマ | inf2220 | グループ3    

する必要がある

A: emnekode が inf1300 & inf 2220 である bnavn を返します (これは簡単でした)。

B: inf1300 と inf2220 の grnr が重複している bnavn を返します。

パート B を実行するのに問題があります - JOIN と WHERE EXISTS を試しましたが、何も正しく動作していないようです。

これまでの私のコードは次のとおりです。

 SELECT DISTINCT bnavn
 FROM emnestud
 WHERE emnekode IN ('inf1300', 'inf2220')

次のパートを設定するのに苦労しています。助けていただければ幸いです。

4

3 に答える 3

1
SELECT bnavn
 FROM emnestud
 WHERE emnekode IN ('inf1300', 'inf2220')
group by bnavn
having count(1)>1
于 2013-10-16T21:17:14.227 に答える
0

このコードは、emnekode で繰り返される行を返します

SELECT emnekode
 FROM emnestud
GROUP BY emnekode
HAVING
 COUNT(*) > 1

これは役に立ちますか?

于 2013-10-16T21:19:17.123 に答える
0

これを試して:

SELECT DISTINCT bnavn 
FROM emnestud 
WHERE grnr in(
  SELECT grnr
   FROM emnestud
    WHERE emnekode IN ('inf1300', 'inf2220')
    GROUP BY grnr
    HAVING COUNT(1)>1);

SQLFIDDLE

于 2013-10-16T21:34:48.597 に答える