-
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_TX, Table1.TGandLAN, Table1.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_TX, Table1.TGandLAN, Table1.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 đỡ