PDA

View Full Version : Xuất DSMH Chưa Đạt Trong Bảng Điểm



nda888
01-07-2011, 18:04
chào các bạn
mình mới tham gia vào diễn dàn, hiện mình đang có chút rắc rối về phần điểm trong sql
vd: môn toán bạn thi 3 lần
L1:3
L2:3
L3:3
thì => môn toán bạn chưa đạt.
Nhưng khi L4:5 => môn toán bạn đã đạt

Mục đích của mình là muốn show ra các môn chưa đạt trong bảng điểm

mình có 2 bảng dsmh(_id,tenmh,hocki) ; diem(_id,diem)

đây là câu lệnh sql của mình:

select tenmh,diem from dsmh,diem where dsmh._id=diem._id and diem <(select diem from diem where diem>=5)

Nhưng kết quả khi lọc không được như mong muốn
Mong các bạn giúp dùm minh

megaownage
01-07-2011, 21:19
CSDL gì mà đặt tên hà tiện chữ, hèn gì làm câu truy vấn không ra. _id là cái gì? tên bảng trùng với tên trường!!!

select tenmh,diem from dsmh ds, diem dm where ds._id=dm._id
and NOT EXISTS (select * from diem dm2 where dm2._id = dm._id and dm2.diem >=5)

nda888
01-07-2011, 23:33
cảm ơn bạn nhìu

mình vẫn còn 1 thắc mắc nữa là zậy

trong bảng điểm có tất cả các môn của hocki 1,2

và mình muốn show ra tenmh, diem những môn không nằm trong bảng điểm

đây là câu lệnh sql của mình:

select tenmh from dsmh where tenmh NOT IN (select tenmh from dsmh,diem where dsmh._id=diem._id)

câu lệnh sql trên chỉ show ra được tên các môn không nằm trong bảng điểm
thui và mình muốn ngoài tên còn kèm thêm cả điểm nữa.Và phần điểm đó trống vì không nằm trong bảng điểm.

CSDL gồm 2 bảng như trên lun.
Mong bạn giúp dùm.Mình chỉ gặp 2 vấn đề đó thui.

chip07
02-07-2011, 08:55
select tenmh, NULL diem
from dsmh
where _id NOT IN (select _id from diem)