2017-03-26 18 views
0

我怎樣才能比較一個表,因爲我需要檢索在不同課程中獲得同等成績的學生的身份證號碼,並顯示他們的身份證號碼,課程ID號和等級是相同的。 我試過這段代碼:如何自我比較表格,並在一列中獲取具有相同數據的行?

​​

,但它是不正確的,因爲輸出應該是

S003 C001 81.90 
S003 C002 81.90 

只有

表被命名爲subjcode:

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

我投票,但idk爲什麼它說「投票少於15聲望的人可以被錄製」:( – jack

相關問題