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:
- Dùng các phương thức Find của Recordset
- Em có hai thắc mắc mong được anh chị giúp đỡ
- Giúp đở vấn đề share csdl access để được nhiều người dùng
- File nào là Front End , File nào là Back End
- Code cập nhật Tồn kho!
- Lập trình bảo mật cơ sở dữ liệu Access
- Lỗi access 2003 khi chạy trên 2007
- Help: linktable bi loi code VBA
- Help! Tự động ẩn dòng khi giá trị bằng 0 trong
- Xin trợ giúp sự kiện xảy ra trong Combox
-
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.
Theo phong tục của người M’nông, khi đứa trẻ vừa tròn một mùa rẫy (nghĩa là vừa tròn một năm tuổi), cha mẹ đứa trẻ phải tiến hành làm lễ cắt tóc (krah soh) và lễ xỏ tai (chuh tor) cho con mình, nhằm...
Lễ cắt tóc (krah soh) và lễ xỏ tai (chuh tor) cho trẻ sơ sinh của người M’nông