2011-09-20 121 views
-4
student_id course_id course_name 
--------------------------------------------- 
1   1000  'CS' 
2   1000  'CS' 
1   2000  'CHEM' 
2   3000  'ENG' 
3   1000  'CS' 
4   5000  'Bio' 

我試圖返回使用一個簡單的SQL語句需要一個過程, (student_id數據,COURSE_ID,課程名稱),無子查詢和JOIN。SQL:返回與簡單的SQL語句

的結果應該是:


Student_ID Course_ID Course_name 
3   1000  'CS' 
4   5000  'Bio' 

預先感謝您! :)

+0

可以顯示樣品輸出 –

+0

你應該有發佈SQL聲明。 – adatapost

回答

3

試試這個,按照您的要求,無需子查詢或加入

select student_id, min(course_id), min(course_name) from student 
group by student_id 
having count(student_id) = 1 

這將返回誰只需要一個過程,學生的詳細信息

+0

如果min()wad需要,每個選定字段的命中次數超過1次? – Independent

+0

@Jonas:不一定,您*必須*在SQL中對不依賴於屬於'group by'子句的列的列或表達式使用聚合函數。 – Benoit