2017-02-02 4 views
0

У меня есть Student_Table со следующей структурой.Спрятать записи в пределах одной таблицы

Student_Note Table 
    student_id seq_num note 
    11212   1  firstnote 
    11212   2  secondNote 
    11212   3  thirdNote 
    21232   1  secondstudentnote1 
    21232   2  secondstudentnote2 

так далее

Я хочу, чтобы получить последнюю ноту (которая имеет большой seq_num) для particilar студента.

Я попытался следующий запрос

select tn.note from Student_Note tn JOIN Student_Note tn1 
      ON (tn.student_id =tn1.student_id AND tn.seq_num < tn1.seq_num) 
      where tn.student_id=11212 

он дает более одной строки. Как достичь вышеупомянутого сценария?

Я забыл упомянуть, что в качестве подзапроса используется следующий запрос. В соответствии с предложением sybase TOP не будет работать в подзапросе.

P.S. Я использую sybase.

ответ

0

OK - изменилось, по-видимому, не может использовать TOP .........

select tn.note from Student_Note tn 
where tn.student_id=11212 
and tn.seq_num = (SELECT MAX(seq_num) from Student_Note WHERE Student_Note.Student_Id = tn.Student_Id) 
+0

Я использую в подзапроса так в Sybase TOP не будет работать в подзапрос. – sar

0

Пожалуйста, попробуйте этот

select  substring(max(str(seq_num,10,'0') + note),11,len(note)) 
from  Student_Note 
where  student_id=11212 
Смежные вопросы