• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Các bạn giúp mình câu sql này với???????

Chuyên mục thảo luận các vấn đề liên quan đến ứng dụng quản lý và cơ sở dữ liệu

Điều hành viên: Điều hành

HUYNHTU2030
Bài viết: 2
Ngày tham gia: CN 10/04/2011 11:54 pm
Has thanked: 1 time

Các bạn giúp mình câu sql này với???????

Gửi bàigửi bởi HUYNHTU2030 » CN 23/09/2012 1:20 am

Chào các bạn !!! Mình có csdl bao gồm các bảng:
- sinhvien(masv,hoten)
- ketqua(masv, mamon,diem)
- monhoc(mamon,tenmon,sotinchi)
-mienhoc(masv, mamon)
Các bạn cho mình hỏi: Bằng câu lệnh sql làm sao để thống kê được hoten và số tín chi đã hoàn thành của mỗi sinh viên vậy(môn hoàn thành phải có điểm lớn hơn 5, môn được miễn thì không tính ). Thanks!!!!.Em chưa có kinh nghiệm post bài xin admin đừng xóa!!!



DoremonA
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 441
Ngày tham gia: T.Sáu 29/07/2011 1:00 pm
Has thanked: 11 time
Been thanked: 145 time

Re: Các bạn giúp mình câu sql này với???????

Gửi bàigửi bởi DoremonA » T.Sáu 09/11/2012 10:41 pm

Của bạn đây:
  1. SELECT SV.masv,SV.hoten,SUM(MH.sotinchi) AS sotinchi FROM sinhvien SV INNER JOIN (SELECT KQ.masv,MH.sotinchi FROM ketqua KQ LEFT JOIN monhoc MH ON MH.mamon=KQ.mamon WHERE KQ.diem>=5 AND KQ.mamon NOT IN (SELECT mamon FROM mienhoc WHERE masv=KQ.masv)) TT ON TT.masv=SV.masv GROUP BY SV.masv,SV.hoten

Không biết bây giờ bạn có cần không, cũng gần 2 tháng rồi mà :)
Câu SQL ở trên là trong bảng <ketqua> có tất cả các môn kể cả môn được miễn.
Còn nếu bạn tạo CSDL của bảng <ketqua> bỏ đi các môn đã miễn chỉ còn lại các môn cần học (mình nghĩ cái này hợp lý hơn) thì lúc đó trong câu truy vấn sẽ không dính dáng gì đến bảng <mienhoc> nữa nên sẽ đơn giản hơn
  1. SELECT SV.masv,SV.hoten,TT.sotinchi FROM sinhvien SV LEFT JOIN (SELECT KQ.masv,SUM(MH.sotinchi) AS sotinchi FROM ketqua KQ LEFT JOIN monhoc MH ON MH.mamon=KQ.mamon WHERE KQ.diem>=5 GROUP BY KQ.masv) TT ON TT.masv=SV.masv


Quay về “Ứng dụng Quản lý và Cơ sở dữ liệu”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách