SQL - Giúp đỡ câu truy vấn khó



  • Cơ sở dữ liệu em có bảng Sản Phẩm; Khách hàng, Bảng đơn giá,....
    Mỗi khách hàng vs mối sản phẩm có 1 đơn giá riêng và thay đổi thường xuyên nên e tạo bảng dưới:
    Bảng bao gồm:

    Mã SẢn Phẩm,
    Mã Khách hàng,
    Đơn Giá
    Thời Gian cập nhật
    Yêu cầu: lấy ra đơn giá có thời gian cập nhật cuối cùng của mỗi sản phẩm cho mỗi khách hàng
    ví dụ:
    1 SP01 KH01 1000 10/10/2016
    2 SP01 KH01 5000 12/12/2016
    3 SP02 KH01 8000 12/10/2015
    4 SP01 KH02 1000 10/08/2016
    5 SP02 KH01 9900 12/12/2010
    kết quả:
    2 SP01 KH01 5000 12/12/2016
    3 SP01 KH01 8000 10/08/2015
    4 SP01 KH02 1000 10/08/2016



  • Trong Postgresql se la nhu the nay:
    select b.ma, b.masanpham, b.dongia, b.thoigiancapnhat from
    (select thoigiancapnhat from bangtonghop where thoigiancapnhat in (select max(thoigiancapnhat) from bangthonghop group by masanpham,makhachhang)) as a inner join
    (select *from bangtonghop) as b on a.thoigiancapnhat = b.thoigiancapnhat;


Hãy đăng nhập để trả lời