2016-10-13 5 views
0

これは正しいですか?私の論理はここにはないように感じますが、私はIT部門に入学した少なくとも一人の学生よりも遅れて始まった学生を挙げる必要があります。比較した日付のネストされたサブクエリ

SELECT studentid, year 
FROM enrolled, course 
WHERE program = 'IT' and year >= ALL (
     SELECT year FROM enrolled); 


enrolled(studentid, courseID, year) 
course(courseid, department) 

私はすべてが一部


申し訳ありませんが、私は、それは

学生からのものであると仮定して、誤ったスキーマを与えた場合を除いて正しいと信じている(SID、プログラム、開始)

が、私は

SELECT sid, started 
FROM student 
WHERE started > (
    SELECT MIN(started) 
    FROM student 
    WHERE program = 'IT'); 
ありがとう、それは今、この作品で信じます
+0

少なくとも「1人」の学生より遅れて開始されましたか? – Hogan

+0

ああありがとう – yeny314

答えて

0

SELECT MIN(year) 
FROM enrolled 
WHERE program = 'IT' 

(推測プログラムという名前の列がある)の手順

の後半IT」に入学し、少なくとも一人の学生より開始したリストの学生を「IT」になるための最初の生徒がそれを取ります'部署。

SELECT studentid, year 
FROM enrolled 
WHERE year > (
    SELECT MIN(year) 
    FROM enrolled 
    WHERE program = 'IT' 
) 
+0

申し訳ありませんが、間違ったスキーマを教えてくれましたが、今修正しました。私はWHERE内のネストされたクエリを理解していますが、私はオブジェクト指向の考え方を使用して以来、周りにラップするのは苦労しています。ありがとう! – yeny314

+0

@ yeny314 - 私は、幸運を助けることができてうれしい。 – Hogan