Hiển thị kết quả từ 1 đến 8 / 8
  1. #1
    Tham gia
    05-11-2010
    Bài viết
    40
    Like
    0
    Thanked 0 Times in 0 Posts

    Cần chú ý ! Câu lệnh truy vấn trong SQL

    Mình có hai bảng:

    1 là bảng Sản_phẩm( idsanpham,tensanpham)
    2 là bảng Phản_hồi(idphanhoi,idsanpham,visible)

    Với - idsanpham trong bảng Phản_hồi là khóa ngoại của bảng Sản_phẩm
    - visible có hai giá trị:
    0 - Ẩn ( tương ứng comment không được hiển thị)
    1 - Hiện ( tương ứng comment được hiển thị)
    Giờ mình có một bài tập là viết câu truy vấn: Đếm xem 1 sản phẩm có bao nhiêu comment, bao comment được hiển thị và bao nhiêu comment không được hiển thị?

    Đối với câu truy vấn tìm xem 1 sản phẩm có bao nhiêu comment thì mình làm được rùi nhưng còn hai câu sau thì mình chịu.

    Các bạn giúp mình với. Thanks a lot
    Quote Quote

  2. #2
    Tham gia
    29-07-2011
    Bài viết
    91
    Like
    6
    Thanked 4 Times in 4 Posts
    bạn chỉ cần chế lại câu trên bằng mệnh đề WHERE visible bằng 0 hoặc 1 là được mà
    Tức là dùng count và WHERE có AND là được. hehe

  3. #3
    Tham gia
    05-11-2010
    Bài viết
    40
    Like
    0
    Thanked 0 Times in 0 Posts
    Không phải là viết trên từng câu mà chĩ viết 1 câu nhưng thỏa mãn hết tất cả yêu cầu cơ.
    Nên như vậy mình mới bó tay. Hix

  4. #4
    Tham gia
    15-03-2010
    Bài viết
    1,562
    Like
    84
    Thanked 1,571 Times in 860 Posts
    Đầu tiên hết, nối hai bảng lại
    Truy vấn, đếm số ph, đếm số ph vis, đếm số ph invis
    để đếm số vis/invis, dùng lệnh case
    Đương nhiên, để có thể đếm ý nghĩa, phải group lại

    Lưu ý, phải dùng left join vì có hững sp không có phản hồi

    Code:
    select sp.idsanpham, sp.tensanpham,
        count(ph.idphanhoi) soPhanHoi,
        sum(case ph.visible when 1 then 1 else 0 end) phCoHienThi,
        sum(case ph.visible when 0 then 1 else 0 end) phKhongHienThi
    from SanPham sp left outer join PhanHoi ph on sp.idsanpham = ph.idsanpham
    group by sp.idsanpham, sp.tensanpham
    tb thiết kế gì mà dùng nửa tiếng Anh nửa tiếng Việt vầy nè trời!

  5. #5
    Tham gia
    05-11-2010
    Bài viết
    40
    Like
    0
    Thanked 0 Times in 0 Posts
    Oh, mình làm đc rùi. Cám ơn u rất nhiều

  6. #6
    Tham gia
    05-11-2010
    Bài viết
    40
    Like
    0
    Thanked 0 Times in 0 Posts
    Mà bạn megaownage cho mình hỏi, để tìm những câu lệnh SQL chuyện sâu hơn thì nên đọc sách hay ebook nào? Do trong lớp thì mình cũng chỉ về nó sơ sơ thui ko đi sâu, mà mình muốn tìm hiểu nhưng ko biết tìm sách nào hay cả? Bạn có thể giới thiệu mình được ko?

    Thanks you very very much

  7. #7
    Tham gia
    22-02-2007
    Bài viết
    25
    Like
    0
    Thanked 1 Time in 1 Post
    google search : MSDN SQL SERVER Transact-SQL Language reference

  8. #8
    Tham gia
    15-03-2010
    Bài viết
    1,562
    Like
    84
    Thanked 1,571 Times in 860 Posts
    Ngày xưa tôi ra nhà sách mua một quyển Tự Học SQL nhỏ xíu, chẳng có gì đặc sắc. Đem về nhà bỏ công học từ đến cuối. Thế là nắm được phần căn bản. Tôi học hành theo nguyên tắc ăn chắc no dai.

    Ba mớ ebook, language reference vv là về sau này, khi tiến vào lĩnh vực phức tạp.

Bookmarks

Quy định

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