2017-03-26 7 views
0

どのように私は異なるコースで同じ等級を取得する生徒のID番号を取得し、そのID番号、コースID番号、および等級を表示する必要があるので、私はそれを自分とテーブルを比較することができます。 私はこのコードを試してみた:テーブルを自己と比較し、同じデータを持つ行を1つの列に入れる方法は?

​​

をしかし出力のみ

テーブルの名前はsubjcode

S003 C001 81.90 
S003 C002 81.90 

する必要がありますので、それが正しくありません:

sno  cno  score 
S001 C001 78.90 
S001 C002 82.90 
S001 C003 59.00 
S002 C001 80.90 
S002 C002 72.90 
S003 C001 81.90 
S003 C002 81.90 
S004 C001 60.90 

手伝ってくれてありがとう!

+0

「LEFT JOIN」は多分でしょうか? –

答えて

0

あなたが検索する共通のフィールドであるスコアによって、自分自身に内部結合するだけです。次に、スコアを複数回繰り返す別の行を選択します。このようにする必要があります。

select distinct A.cno, A.sno, B.score from subjcode A 
inner join subjcode B on (B.score = A.score) 
group by A.cno, A.sno 
having count(B.score) > 1; 
+0

ありがとうございます。これは非常に役に立ちます! – jack

+0

だから私の答えを投票してみませんか? :) – DvTr

+0

私は投票していますが、なぜ評判が15未満の人による投票が記録できるのかはわかりません:( – jack

関連する問題