Noname > 12-04-12, 12:54 PM
casio262 > 12-04-12, 03:19 PM
Noname > 12-04-12, 03:52 PM
SELECT DANHSACH.MAHS, DANHSACH.HO, DANHSACH.TEN, Avg(IIf([mon]='Toan',[DIEM],0)) AS Toan, Avg(IIf([mon]='Van',[DIEM],0)) AS Van
FROM DANHSACH INNER JOIN DIEM ON DANHSACH.MAHS = DIEM.MAHS
GROUP BY DANHSACH.MAHS, DANHSACH.HO, DANHSACH.TEN;
Xuân Thanh > 12-04-12, 03:52 PM
(12-04-12, 03:19 PM)casio262 Đã viết: Đây là dữ liệu của bài đó
http://www.mediafire.com/?9yc0yv1gj3rxx2s
Bạn xem qua giúp mính nhá cái query1 đó
Nó vẫn hiện lên 2 dòng mà cùng một học sinh
(12-04-12, 03:52 PM)Noname Đã viết: Sửa query của bạn thành thế này:
Mã:SELECT DANHSACH.MAHS, DANHSACH.HO, DANHSACH.TEN, Avg(IIf([mon]='Toan',[DIEM],0)) AS Toan, Avg(IIf([mon]='Van',[DIEM],0)) AS Van
FROM DANHSACH INNER JOIN DIEM ON DANHSACH.MAHS = DIEM.MAHS
GROUP BY DANHSACH.MAHS, DANHSACH.HO, DANHSACH.TEN;
Nếu bạn muốn tính tổng điểm toán, văn thì thế hàm Avg bằng hàm Sum
casio262 > 12-04-12, 04:09 PM
Xuân Thanh > 12-04-12, 04:18 PM
(12-04-12, 04:09 PM)casio262 Đã viết: Các bạn làm đều đúng rùi.
Nhưng mình còn thắc mắc một chút đó là ở đây mình chỉ có một điểm Toán và 1 điểm Văn thui.
Không muốn tính tổng hay trung bình các điểm thì xóa lệnh sum, avg... trước nó đi lại bị lỗi nhỉ?
casio262 > 12-04-12, 04:43 PM
Noname > 12-04-12, 04:56 PM
(12-04-12, 04:09 PM)casio262 Đã viết: Các bạn làm đều đúng rùi.
Nhưng mình còn thắc mắc một chút đó là ở đây mình chỉ có một điểm Toán và 1 điểm Văn thui.
Không muốn tính tổng hay trung bình các điểm thì xóa lệnh sum, avg... trước nó đi lại bị lỗi nhỉ?
SELECT DISTINCT DANHSACH.MAHS, DANHSACH.HO, DANHSACH.TEN, First(IIf([mon]='Toan',[DIEM],0)) AS Toan, First(IIf([mon]='Van',[DIEM],0)) AS Van
FROM DANHSACH INNER JOIN DIEM ON DANHSACH.MAHS = DIEM.MAHS
GROUP BY DANHSACH.MAHS, DANHSACH.HO, DANHSACH.TEN;
casio262 > 12-04-12, 05:16 PM
Noname > 12-04-12, 05:42 PM
(12-04-12, 05:16 PM)casio262 Đã viết: Oh, bắt buộc phải đi kèm theo các câu lệnh đó thì mới trả về kết quả mình hiểu rùi.
Ah mà bác Noname cho em hỏi lúc đầu bác nói cái cách
1/ Crosstab query => dùng Thuật sĩ
Có nghĩa là gì vậy??? Em chưa biết mong bác giải thích cho rõ hơn chút được ko?
TRANSFORM Sum(DIEM.DIEM) AS SumOfDIEM
SELECT DANHSACH.HO, DANHSACH.TEN, DIEM.MAHS, Sum(DIEM.DIEM) AS [Total Of DIEM]
FROM DANHSACH INNER JOIN DIEM ON DANHSACH.MAHS = DIEM.MAHS
GROUP BY DANHSACH.HO, DANHSACH.TEN, DIEM.MAHS
PIVOT DIEM.MON;