chichchoe_anvoi > 11-06-13, 12:00 AM
paulsteigel > 11-06-13, 10:48 AM
SELECT TOP 1 a.tentg, Count(b.tensach) AS [Số đầu sách]
FROM tacgia AS a INNER JOIN sach AS b ON a.matg = b.matg
GROUP BY a.tentg
ORDER BY Count(b.tensach) DESC;
chichchoe_anvoi > 11-06-13, 06:02 PM
SELECT TOP 1 a.tentg, Count(b.tensach) AS [Số đầu sách]
FROM tacgia AS a INNER JOIN sach AS b ON a.matg = b.matg
GROUP BY a.tentg
ORDER BY Count(b.tensach) DESC;
paulsteigel > 11-06-13, 10:31 PM
(11-06-13, 06:02 PM)chichchoe_anvoi Đã viết: nhưng ở đây mình làm bài tập cô bắt buộc phải thực hiện trên query,không phải sql ạ
giờ mình làm,thì chọn những bảng nào và làm thế nào ạ
mình cho mình hỏi INNER JOIN là gì ạMã PHP:SELECT TOP 1 a.tentg, Count(b.tensach) AS [Số đầu sách]
FROM tacgia AS a INNER JOIN sach AS b ON a.matg = b.matg
GROUP BY a.tentg
ORDER BY Count(b.tensach) DESC;
ON là gì
desc là gì nữa,tại mình ko dc học sql
chichchoe_anvoi > 11-06-13, 11:52 PM
(11-06-13, 10:31 PM)paulsteigel Đã viết:(11-06-13, 06:02 PM)chichchoe_anvoi Đã viết: nhưng ở đây mình làm bài tập cô bắt buộc phải thực hiện trên query,không phải sql ạ
giờ mình làm,thì chọn những bảng nào và làm thế nào ạ
mình cho mình hỏi INNER JOIN là gì ạMã PHP:SELECT TOP 1 a.tentg, Count(b.tensach) AS [Số đầu sách]
FROM tacgia AS a INNER JOIN sach AS b ON a.matg = b.matg
GROUP BY a.tentg
ORDER BY Count(b.tensach) DESC;
ON là gì
desc là gì nữa,tại mình ko dc học sql
Không biết bạn học trường nào, nhưng mình đoán cô giáo dạy chưa đến nơi hoặc hướng dẫn các bạn một cách quá sơ sài dẫn đến có những lỗ hổng đáng tiếc trong kiến thức.
1. Bản chất Query là câu lệnh truy vấn được viết bằng ngôn ngữ truy vấn có cấu trúc SQL (Structured Query Language). Access lưu thành đối tượng để quản lý trong cửa sổ CSDL để tiện sử dụng.
Bạn cần đọc lại sách hướng dẫn về cái này một cách cẩn trọng.
2. Câu truy vấn tôi đưa ra cho bạn là theo yêu cầu của bạn "Truy vấn từ nhiều bảng có mối liên quan với nhau"
Ở đây INNER JOIN là chỉ lấy các bản ghi từ 2 bảng thỏa mãn sao mã tác giả bằng nhau;
Nếu đọc thêm bạn sẽ biết một chút về LEFT JOIN (lấy tất cả các bản ghi trong bảng a và thêm vào bằng các bản ghi trên bảng b thỏa mãn tác giả bằng nhau)
RIGHT JOIN là ngược lại của LEFT JOIN.
...
Từ khóa ON là để biểu thị trường liên quan giữa 2 bảng (xem trong ví dụ).
3. DESC là DESCENDING = Giảm dần và ASC là Ascending là Tăng dần. Đây là những kiến thức tối thiểu về Query.
Cách đưa câu truy vấn này vào Query thế nào, bạn hãy thử mò lại sách xem sao nhé. Nếu không làm được, hãy hỏi lại, tôi sẽ hướng dẫn kỹ hơn. (Nhấn phải chuột vào Query, chọn Design, tại màn hình soạn Query, nhấn phải chuột chọn SQL View, và dán đoạn truy vấn trên vào, nhấn Run có hình chấm than hoặc F5 để chạy).
Túm lại. Bạn cần đọc kỹ sách của giáo viên cung cấp. Nếu trong sách mà không có thì có 3 khả năng:
1. Sách viết quá tồi
2. Bạn không chú ý nghe giảng và hướng dẫn thực hành;
3. Cô giáo quá thiếu trách nhiệm.
Nhưng theo quan điểm của tôi, việc hỏi như vậy của bạn cũng đáng được đánh giá cao. Và hy vọng bạn đừng tự ái, hãy hỏi nhiều hơn và phải đọc nhiều hơn, đừng hỏi lại những cái mình đã hỏi thì sẽ luôn luôn có người trả lời cho bạn.
Thân!
Đặng Đình Ngọc
P/S: Xin lỗi nếu tôi góp ý hơi quá. Tôi thuộc lớp người cũ, khi giảng, tôi thường khá khó tính với học viên! Bạn thông cảm nhé!
chichchoe_anvoi > 12-06-13, 09:48 AM
Xuân Thanh > 12-06-13, 10:11 AM
paulsteigel > 12-06-13, 03:01 PM
chichchoe_anvoi > 12-06-13, 09:43 PM
từ khóa TOP 1
paulsteigel > 12-06-13, 10:36 PM
(12-06-13, 09:43 PM)chichchoe_anvoi Đã viết: cám ơn paulsteigel [color=#FF0000] e làm được rồi ạ
nhưng có điều em không hiểulà để hiện thị huy nhất cái lớn nhất đúng ko ạ,nếu top values mà mình thay bằng 2 thì nó hiện 2 cái lớn nhất đúng ko ạMã PHP:từ khóa TOP 1
còn nếu muốn cái nhỏ nhất thì sao ạ
Các anh thông cảm,ở lớp em học CSDL I(ko liên quan SQL),còn thực hành học access thì cô ko dạy mà tự tìm hiểu,chủ yếu lập bảng,
nên em cũng ko biết nhiều nữa
cám ơn
ai có thể cho em gợi ý một vài câu truy vấn query làm trong QBE không ạ