• Tạo SQL update khi xác định thời gian lớn nhất
  • Tạo SQL update khi xác định thời gian lớn nhất

    hainhumai > 06-07-23, 11:13 AM

    MA_TX TGandLAN KHUVUC KQ_MONGMUON
    ---------------------------------------------------
    A       04/2023-1         Q1         Q2
    A       06/2023-9         Q2         Q2
    A       06/2023-7         Q7         Q2
    C       03/2023-1         Q2         Q4
    C       06/2023-7         Q4         Q4
    D       04/2023-1         QTB         Q8
    D       06/2023-6         QBT         Q8
    D       06/2023-8         Q8         Q8
    E       05/2023-9         Q3         Q3
    E       05/2023-6         Q5         Q3
    T       06/2023-1         Q1         Q1
    Y       05/2023-1         QTB         QTB

    Mình có Tablel như trên
    Nay mình muốn tạo SQL update trường KHUVUC theo điều kiện:
    lấy giá trị KHUVUC của trường TGandLAN lớn nhất tương ứng với mỗi giá trị KHUVUC , và cập nhật giá trị đó vào trường KHUVUC của các mẩu tin có trường MA_TX lớn hơn 1.
    Trường KQ_MONGMUON là kết quả mình mong nhận được
    mong được giúp đỡ
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    ongke0711 > 06-07-23, 12:17 PM

    (06-07-23, 11:13 AM)hainhumai Đã viết: MA_TX TGandLAN KHUVUC KQ_MONGMUON
    ---------------------------------------------------
    A       04/2023-1         Q1         Q2
    A       06/2023-9         Q2         Q2
    A       06/2023-7         Q7         Q2
    C       03/2023-1         Q2         Q4
    C       06/2023-7         Q4         Q4
    D       04/2023-1         QTB         Q8
    D       06/2023-6         QBT         Q8
    D       06/2023-8         Q8         Q8
    E       05/2023-9         Q3         Q3
    E       05/2023-6         Q5         Q3
    T       06/2023-1         Q1         Q1
    Y       05/2023-1         QTB         QTB

    Đưa cái Table mẫu có dữ liệu như trên để xử lý cho nhanh nhé bạn.
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    hainhumai > 06-07-23, 03:43 PM

    mình không tìm thấy cách gởi file nên gởi bạn link chứa file của mình
    nhờ bạn xem giúp.

    https://mega.nz/file/SQQEnYaA#aLdzH4vH9d...WBp7dVvczo
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    ongke0711 > 06-07-23, 06:22 PM

    (06-07-23, 03:43 PM)hainhumai Đã viết: mình không tìm thấy cách gởi file nên gởi bạn link chứa file của mình
    nhờ bạn xem giúp.

    https://mega.nz/file/SQQEnYaA#aLdzH4vH9d...WBp7dVvczo

    Diễn đàn chỉ dùng link đính kèm của bên thứ 3 thôi chứ không đính kèm file trực tiếp lên diễn đàn được nhé bạn.
    Tạo Query với câu lệnh SQL như sau:

    Mã PHP:
    SELECT Table1.MA_TXTable1.TGandLANTable1.KHUVUC, (SELECT TOP 1 A.KHUVUC FROM Table1 AS A WHERE A.MA_TX Table1.MA_TX ORDER BY A.TGandLAN DESC) AS KHUVUC_DIEUCHINH
    FROM Table1
    ORDER BY Table1
    .MA_TX

    Link file demo: https://www.mediafire.com/file/4t4646k2m...accdb/file
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    hainhumai > 07-07-23, 11:31 AM

    kết quả hiển thị CHÍNH XÁC bạn ơi
    nhưng vì query sele nên không cập nhật kết quả vào trường KHUVUC

    bạn có thể giúp mình tinh chỉnh lại query update để kết quả vào luôn trường KHUVUC
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    DooHoaangPhuuc > 09-07-23, 02:26 PM

    Nên tạo thêm bảng Table Tạm như TABLE_DIEUCHINH rồi append Query_KhuvucDieuchinh (có thêm trường "KHUVUC: KHUVUC_DIEUCHINH vào Table Tạm cũng đơn giản.
    DooHoaangPhuc
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    ongke0711 > 09-07-23, 08:14 PM

    (07-07-23, 11:31 AM)hainhumai Đã viết: kết quả hiển thị CHÍNH XÁC bạn ơi
    nhưng vì query sele nên không cập nhật kết quả vào trường KHUVUC

    bạn có thể giúp mình tinh chỉnh lại query update để kết quả vào luôn trường KHUVUC

    Tốt nhất là tạo thêm cột phụ khác (ví dụ là cột KQ_MONGMUON) để update dữ liệu, tránh bị mất dữ liệu gốc.
    - Tạo 1 Query và dán câu lệnh SQL này vào. Query này sẽ chạy đầu tiên để tạo ra table tạm lưu kết quả trước.

    Mã PHP:
    SELECT Table1.MA_TXTable1.TGandLANTable1.KHUVUC, (SELECT TOP 1 A.KHUVUC FROM Table1 AS A WHERE A.MA_TX Table1.MA_TX ORDER BY A.TGandLAN DESC) AS KHUVUC_DIEUCHINH INTO tblDieuChinh_Temp
    FROM Table1
    ORDER BY Table1
    .MA_TX

    - Tạo Query Update với câu lệnh SQL sau:

    Mã PHP:
    UPDATE tblDieuChinh_Temp INNER JOIN Table1 ON tblDieuChinh_Temp.MA_TX Table1.MA_TX SET Table1.KQ_MONGMUON = [tblDieuChinh_Temp].[KHUVUC_DIEUCHINH]; 

    (Nếu muốn ghi đè lên cột dữ liệu cũ - cột KHUVUC thì đổi tên cột "Table1.KQ_MONGMUON")
  • RE: Tạo SQL update khi xác định thời gian lớn nhất

    hainhumai > 10-07-23, 04:04 PM

    quá ok bạn ơi

    đã và đang sử dụng giải pháp của bạn

    xin cám ơn bạn đã giúp đỡ