Chủ đề: Giúp đỡ về truy vấn
-
10-28-2008, 06:10 AM #1Junior 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àm sao để tắt chế độ Read Only khi mở file Access qua mạng Lan ?
- Bắt sự kiện Report được in ra máy in?
- Lỗi Run-time error '3011'
- tạo nút lọc và đánh số tự động
- Không update được dữ liệu
- Không chạy được query trong ACCESS!
- Xuân Thanh cho mình hỏi tí!
- help code thuế thu nhập cá nhân
- Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?
- File minh họa việc kết nối đến dữ liệu SQL Server từ MS. Access
-
10-28-2008, 06:15 AM #2Junior 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 #3Junior 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 #4Junior 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 #5Junior 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 #6Junior 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 #7Junior 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 #8Junior 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 #9Junior 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.
Volkswagen Touareg được nhập cảng từ nhà máy Bratislava ở Slovakia, nơi duy nhất lắp ráp mẫu xe này, cùng với sản phẩm hạng sang Audi Q7 và Porsche Cayenne. Bộ ba sản phẩm lovense lush "anh em" là...
SUV "khủng bố" chiếm thế phân khúc xe sang cho phái mạnh