• Xác định record dùng phép toán so sánh
  • Xác định record dùng phép toán so sánh

    yamakashi2003 > 05-09-20, 08:55 PM

    Em chào các bác ạ,
    Giả sử em có 1 form bound có 3 trường là: MaNV (khóa chính), TenNV, DoanhSo
    MaNV        TenNV                  DoanhSo
    1             Nguyễn Văn A         25.000.000
    2             Nguyên Văn B          15.000.000
    3             Nguyễn C                 20.000.000
    4             Trần Văn D               10.000.000

    Vậy nhờ các bác chỉ giúp em cách xác định nhân viên có doanh số cao hơn và gần nhất mức: 22.000.000 đ 
    (tức là Nguyễn C)
    Em xin cảm ơn
  • RE: Xác định record dùng phép toán so sánh

    ongke0711 > 05-09-20, 09:48 PM

    Phải nói là có 1 Table có các trường...

    - Tạo 1 query lọc các doanh số > 22.000 và lấy doanh số gần nhất. Ví dụ đặt tên là "Query1"

    Mã PHP:
    SELECT Min(A.DoanhSo) AS MinDS
    FROM 
    (SELECT A.MaNVA.TenNVA.DoanhSo
    FROM Table1 A
    WHERE A
    .DoanhSo>22000); 

    - Lọc danh sác NV có doanh số = doanh số của Query vừa tạo ở trên.

    Mã PHP:
    SELECT Table1.MaNVTable1.TenNVTable1.DoanhSo
    FROM Table1 INNER JOIN Query1 ON Table1
    .DoanhSo Query1.MinDS
  • RE: Xác định record dùng phép toán so sánh

    tranthanhan1962 > 06-09-20, 12:57 AM

    Chỉ cần 1 query thôi: thêm cột X : Doanh số -22.000.000, điêu kiện X>0 thiet đặt total query = Min
  • RE: Xác định record dùng phép toán so sánh

    ongke0711 > 06-09-20, 09:04 AM

    (06-09-20, 12:57 AM)tranthanhan1962 Đã viết: Chỉ cần 1 query thôi: thêm cột X : Doanh số -22.000.000, điêu kiện X>0 thiet đặt total query = Min

    Nếu danh sách NV có 2 người trùng doanh số, liệu dùng Min có trả về toàn bộ 2 NV hay chỉ chọn ngẫu nhiên 1 người theo thứ tự alphabe anh tranhthanhan1962.
  • RE: Xác định record dùng phép toán so sánh

    tranthanhan1962 > 06-09-20, 09:50 AM

    PPhưng pháp của mình thiếu rồi. Một query là không đủ. Dù khi dùng Min nó trả về toàn bộ 2 NV. Nhưng phải bỏ tên nhân viên ra. (do vướng total Group field tên nhân viên, nó sẽ lấy toàn bộ tên nhân viên kể cả các giá trị khác). Cũng phải liên kết lại số tiền với table gốc => tên nhân viên, buột phải có 2 query  005