Chủ đề: Giúp đỡ về truy vấn
-
10-28-2008, 06:10 AM #1
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Giúp đỡ về truy vấn
Chào các bác, cả ngày hôm nay nghĩ mãi mà chưa ra cách truy vấn dữ liệu , các bác rành về SQL giúp em 1 cái:
MaLD | Ngaycongtac| Bophan | ID
001 | 1/1/2001 |01 | 1
001 | 1/1/2004 |02 | 3
002 | 1/3/2003 |01 | 2
002 | 1/7/2005 |04 | 4
.....
Làm cách nào để truy vấn toàn bộ (group by MaLD) với điều kiện lấy bản ghi có ngày công tác gần nhất của từng người. Kết quả có dạng:
001 | 1/1/2004 |02 | 3
002 | 1/7/2005 |04 | 4View more random threads:
- Lỗi khi nhập liệu bằng access mdb
- xin code tạo nút save
- Checkbox và option button
- Tắt thông báo xóa Record hay action query
- Làm sao để sắp xếp cố định các trường xuống dòng trong 1 Textbox của Report
- Help! Tự động ẩn dòng khi giá trị bằng 0 trong
- Cách tạo mã số và lọc các mặt hàng theo mã số ấy!
- Làm thế nào để biết được User hiện hành là ai ?
- Gửi và truyền dữ liệu từ xa
- Giúp mình bắt lỗi khi người dùng nhấn Alt + F4
-
10-28-2008, 06:15 AM #2
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Giúp đỡ về truy vấn
SELECT ds_1.maLD, ds_1.maxngayctac, ds.phong, ds.ID
FROM ds, [select ds.maLD, max(ngayctac) as maxngayctac from ds GROUP BY ds.maLD]. AS ds_1
WHERE ds_1.maLD=ds.maLD and ds_1.maxngayctac = ds.ngayctac;
-
10-28-2008, 06:46 AM #3
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Giúp đỡ về truy vấn
Truy vấn là khó, trường hợp MaLD và Ngaycongtac giống nhau phải lựa chọn ID nào?
Khả năng phải viết code.
-
10-28-2008, 02:46 PM #4
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Giúp đỡ về truy vấn
Gửi bởi Access2k
Trường hợp bạn nêu có thể xảy ra khi một người làm nhiều nơi cùng 1 thời điểm (cái này trong mô hình 1 doanh nghiệp thì mình chưa cần xét đến)
Cách truy vấn của bác mượn chuẩn rồi. Chuyển từ mô hình DAO sang ADO phải thay đổi nhiều quá nhất là mấy cái hàm Dlookup,D... không còn sài được nữa, toàn phải dùng SQL để lấy dữ liệu.
Nhân tiện em hỏi luôn câu nữa. Cái này hiện em đang phải làm qua 2 câu lệnh SQL mặc dù biết là có thể chỉ dùng câu lệnh SQL lồng là xong:
----------
sql = "SELECT top 1 Mabophan FROM tbl_bophancongtac WHERE MLD='" & Me.MLD & "' order by tunam desc"
ModADO.OpenDB
ab = rst.Fields(0)
sql = "UPDATE tbl_hosocanhan SET tbl_hosocanhan.Maphong = '" & ab & "' where MLD ='" & Me.MLD & "'"
ModADO.OpenDB
-
10-28-2008, 10:28 PM #5
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 4
Ðề: Giúp đỡ về truy vấn
Gửi bởi Access2k
Nếu thiết kế đúng thì sẽ phản ảnh được đối tượng theo dõi, với đầy đủ thuộc tính của nó.
Như ví dụ trên tôi giả định là khoá chính gồm 2 field: MaLD, NgayCongtac.
Nếu khoá chính là : phongban, MaLD, NgayCongtac thì ý nghĩa của table đã khác đi.
Ngoài ra table này vẫn có field ID, lẽ ra nó phải là khoá chính.
Vậy phải sử dụng cái nào là khoá? ID hay là phongban+MaLD+NgayCongtac hay MaLD+NgayCongtac ?
Chính cấu trúc table không hướng đối tượng đã sinh ra rắc rối.
-
10-31-2008, 05:17 AM #6
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Giúp đỡ về truy vấn
Bác muon ơi tại sao câu truy vấn này của em lại không chạy được nhỉ? Mặc dù trong giáo trình nó là truy vấn hợp lệ:
UPDATE tbl2 SET tbl2.Maphong = (select top 1 Maphong from tbl1);
-
11-05-2008, 06:01 PM #7
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 5
Ðề: Giúp đỡ về truy vấn
Bạn cần làm 2 bước:
1. Tạo query có tên A01 như sau:
"SELECT Hoso.BoPhan, Max(Hoso.NgayCT) AS NgayCT FROM Hoso GROUP BY Hoso.BoPhan;"
2. Tạo query thứ 2 có tên A02 như sau:
"SELECT Hoso.* FROM A01 INNER JOIN Hoso ON (A01.NgayCT = Hoso.NgayCT) AND (A01.BoPhan = Hoso.BoPhan);"
Và query A02 chính là cái bạn cần, chúc thành công!
-
11-05-2008, 06:09 PM #8
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 4
Ðề: Giúp đỡ về truy vấn
Gửi bởi dangtuanson
-
11-06-2008, 01:29 AM #9
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 3
Ðề: Giúp đỡ về truy vấn
2 câu hay 1 câu thì cũng đâu có gì khác nhau đâu?
Dẫu sao ta cũng chỉ gõ vào 1 lần và save lại để chạy nhiều lần thôi.
For pet owners who prioritize style and comfort, a large wicker dog bed on legs offers a blend of functionality, aesthetic appeal, and durability. Designed to provide your furry friend with a cozy...
Elevate Your Pet's Comfort: Large Wicker Dog Bed on Legs