Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Làm thế nào để tạo truy vấn, sử dụng hàm count() trên 2 bảng?

  1. #1
    Ngày gia nhập
    12 2011
    Bài viết
    6

    Mặc định Làm thế nào để tạo truy vấn, sử dụng hàm count() trên 2 bảng?

    Minh có 2 bảng:
    - Đầu sách(Mã đầu sách, Tên đầu sách)
    - Cuốn sách(Mã cuốn sách, Mã đầu sách)

    * Mỗi đầu sách có thể có nhiều cuốn sách.
    - Hiện giờ mình muốn có một truy vấn lấy thông tin sau:

    Mã đầu sách | Tên đầu sách | Số lượng cuốn sách ứng với mỗi 1 đầu sách

    - Mình dùng hàm count() với group by thực hiện trên 1 bảng thì ổn. Nhưng trên 2 bảng này thì
    không được. Bạn nào giúp mình tạo truy vấn này với. Cám ơn!
    Email: minhqh.pt@gmail.com

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Chỉ cần join hai bảng lại rồi tính Count() với group by là đúng rồi. Sao lại không được?

  3. #3
    Ngày gia nhập
    12 2011
    Bài viết
    6

    Đây là lệnh của mình này:( không dùng được)
    SELECT DISTINCT DauSach.MaDS, DauSach.TenSach, COUNT(CuonSach.MaCS) AS 'So Luong'
    FROM CuonSach INNER JOIN
    DauSach ON CuonSach.MaDS = DauSach.MaDS
    GROUP BY DauSach.MaDS

    Không biết bạn có ý kiến nào khác không? Cám ơn!

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Bạn cần học cho kỹ lại về mệnh đề group by

    SELECT DISTINCT DauSach.MaDS, DauSach.TenSach, COUNT(CuonSach.MaCS) AS 'So Luong'

    Phần bôi xanh: đã group by rồi còn distinct nữa sao?

    Phần bôi đỏ: không phải là một aggregate function (hàm tính tổng) thùi bắt buộc phải nằm trong danh sách group by

    ...
    GROUP BY DauSach.MaDS, DauSach.TenSach

    tb. bạn cũng cần xem kỹ lại cách trình bày vấn đề của mình (tiền hậu bất nhất). Trong câu hỏi ban đầu, bảng DauSach đâu có trường TenSach

  5. #5
    Ngày gia nhập
    12 2011
    Bài viết
    6

    Ừ cám ơn bạn nhá!
    Đáp án là:
    SELECT DISTINCT DauSach.MaDS, DauSach.TenSach, COUNT(CuonSach.MaCS) AS 'So Luong'
    FROM CuonSach INNER JOIN
    DauSach ON CuonSach.MaDS = DauSach.MaDS
    GROUP BY DauSach.MaDS, DauSach.TenSach

    "Distinct" cho thừa này! :d

Các đề tài tương tự

  1. Lỗi "Column count doesn't match value count at row 1" sửa thế nào?
    Gửi bởi biencute trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 2
    Bài viết cuối: 22-12-2012, 11:00 PM
  2. Trả lời: 5
    Bài viết cuối: 13-08-2012, 02:51 AM
  3. Trả lời: 2
    Bài viết cuối: 27-07-2012, 10:12 PM
  4. Lấy giá trị trả về từ câu lệnh SELECT COUNT như thế nào?
    Gửi bởi MYNAM trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 2
    Bài viết cuối: 23-09-2011, 09:46 AM
  5. Truy xuất dữ liệu từ Datagrid trên C# như thế nào?
    Gửi bởi lammcathay trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 11-05-2009, 12:19 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn