Jump to content

  • Log in with Facebook Log in with Twitter Log in with Windows Live Log In with Google      Sign In   
  • Create Account
  • facebook
  • googleplus
  • twitter

Photo
- - - - -

Bài tập về SQL server 2000 (Help!!)


  • Please log in to reply
11 replies to this topic

#1 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 22 September 2007 - 09:31 PM

Em cần mấy bác giúp em về SQL server 2000 với:
Đây là bài tập:
Cho 4 Bảng : SVIEN (TEN, MASV, NAM, KHOA)
MHOC(TEN_MH, MAMH, TINCHI, KHOA)
K_HOC(MAKH, MAMH, HOCKY, NAM, GV)
KQUA(MASV, MAKH , DIEM)
Cái nào gạch dưới là khóa còn bảng KQUA trường MASV lấy từ Table SVIEN trường MAKH lấy từ Table K_HOC.
Câu hỏi: 1/ Cho biết tên sinh viên và các môn học mà sinh viên đó tham gia với kết quả cuối khóa trên 7 điểm.?
2/ Cho biết tên sinh viên thuộc về khoa có phụ trách môn “Toán”
3/ Cho biết tên sinh viên đạt điểm cao nhất.
4/ Cho biết tên sinh viên tham gia tất cả các môn.
Lưu ý là các bảng đã được nhập đầy đủ thong tin.
Xin mấy bác giúp giùm em, em mới học nên còn yếu lắm mong các bác giúp đỡ. [-O<
Thank các bác nhiều!!!

#2 longbottom

longbottom

    Spam Happy

  • Super Moderator
  • 278 posts

Posted 22 September 2007 - 11:13 PM

Không được, cái này là giết u chứ ko phải giúp u . động não chút đi. Mấy câu trên dễ mà [-O< :( :)
Chủ yếu là kết các bảng lại dựa vào đk kết
vd Câu1
tên sinh viên và các môn học xem nó nằm trong bảng nào
Đk là kết quả >7, kết quả nằm trong bảng nào
Sau đó kết lại dựa vào đk kết

Bảng KQ cho ta biết đươc MASV và MAKH , tức là dựa vào đây ta sẽ biết được MASV trên 7, kết với bảng SVIEN để biết tên SV, sau đó kết với bảng KHOC (bằng MAKH)và MHOC (bằng MAMH) để biêt tên môn học

Câu 2, 3, 4,.. tương tự

Edited by longbottom, 22 September 2007 - 11:16 PM.


#3 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 24 September 2007 - 03:33 PM

em ko hiểu nên em mới post bài nhờ các pro giúp mà bác nói như vậy thì em cũng bó tay [-O< . Nhưng dù sao cũng thank bác!!!

#4 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 24 September 2007 - 11:03 PM

ai có thể viết câu lệnh SQL với mấy câu hỏi trên thì giúp em với. Em đang rất cần gấp. Pro đâu hết rùi giúp em đi???

#5 Thiên Hà

Thiên Hà

    Chém Gió

  • History
  • 1,054 posts

Posted 25 September 2007 - 10:36 AM

1)
select SVIEN.ten, MHOC.ten_mh
from SVIEN, MHOC,KQUA, K_HOC
where SVIEN.MASV = KQUA.MASV and
		   KQUA.MAKH= K_HOC.MAKH and
		   K_HOC.MAMH= MHOC.MAMH and
		   KQUA.DIEM>7
2)
select sv.ten
from SVIEN as sv, MHOC
where SVIEN.KHOA=MHOC.KHOA and
		  MHOC.TEN_MH like 'toan'
3)
select sv.ten
from SVIEN as sv, KQUA as kq
where  sv.MASH = kq.MASV and
		   kq.DIEM=( select MAX(DIEM)
							from   KQUA  )
4)
select sv.ten
from SVIEN as sv, MHOC as mh
where ...(dk giong cau 1)
GROUP BY mh.MAMH


#6 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 25 September 2007 - 02:47 PM

cảm ơn bác tiendung nhiều nhiều :( [-O<

#7 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 25 September 2007 - 03:27 PM

Bác tiendung ơi câu 4 em làm như Bác
select SVIEN.TenSV
from SVIEN,MHOC,KQUA,KHOC
where SVIEN.MaSV = KQUA.MASV and
KQUA.MAKH= KHOC.MAKH and
KHOC.MAMH= MHOC.MAMH
GROUP BY MHOC.MAMH
nhưng mà khi chạy thì nó lại báo lỗi
Server: Msg 8120, Level 16, State 1, Line 76
Column 'SVIEN.TenSV' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Bác làm ơn trả lời giùm em nha. Thank bác nhiều!!

#8 Thiên Hà

Thiên Hà

    Chém Gió

  • History
  • 1,054 posts

Posted 25 September 2007 - 04:05 PM

trong bản SVIEN co thuộc tính là Ten hay TenSV xem lại

#9 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 25 September 2007 - 07:37 PM

Trong CSDL của em là TenSV mà. Em không biết đó là lỗi gì nữa. Chạy hoài mà vẫn ko được [-O<

#10 longbottom

longbottom

    Spam Happy

  • Super Moderator
  • 278 posts

Posted 25 September 2007 - 09:04 PM

sửa group by lại thành group by SVIEN.TenSV, MHOC.MAMH

#11 thiendat1306

thiendat1306

    Normal Member

  • Member
  • PipPip
  • 83 posts

Posted 26 September 2007 - 01:07 PM

em đã sửa lại theo bác là GROUP BY SVIEN.TenSV, MHOC.MAMH nhưng mà khi chạy thì nó lại báo lỗi:
Server: Msg 208, Level 16, State 1, Line 76
Invalid object name 'SVIEN'.
Server: Msg 208, Level 16, State 1, Line 76
Invalid object name 'MHOC'.
Server: Msg 208, Level 16, State 1, Line 76
Invalid object name 'KQUA'.
Server: Msg 208, Level 16, State 1, Line 76
Invalid object name 'KHOC'.
Mong bác chỉ bảo thêm.

#12 longbottom

longbottom

    Spam Happy

  • Super Moderator
  • 278 posts

Posted 26 September 2007 - 05:44 PM

Bạn coi lại tên các thuộc tính trong bảng , xem có viết sai cái gì ko,xem cái dòng 76 có sai cú pháp ko





Similar Topics Collapse

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users