SELECT TOP(1) COUNT(1) as Num FROM [tblAFFSaleInvoice] GROUP BY DONo,Seq HAVING COUNT(1) > 1
Giải thích:
Top1 () chỉ cần có 1 dòng trùng thì chúng ta báo lỗi.
COUNT(1): Đếm số dòng trùng nhau
GROUP BY: Dòng các dòng trùng nhau
HAVING: Mệnh đề HAVING…được thêm vào SQL vì mệnh đề WHERE không áp dụng được đối với các hàm tập hợp (như SUM). Nếu không có HAVING, ta không thể nào kiểm tra được điều kiện với các hàm tập hợp.
2. Thêm số thứ tự ở dòng đầu tiên
Select
ID_Num = IDENTITY(int, 1, 1),
t1.DONo as STT,
t3.[Name] as TenKhachHang,
from dbDOHdr T1 left join
dbMember T3 on t1.MemberCode = t3.Code
Thêm dòng này ID_Num = IDENTITY(int, 1, 1), chúng ta sẽ có cột STT ở dòng đầu tiên
Bổ sung dòng code Check dữ liệu trùng nhau cho bạn nào cần:
ReplyDeleteSELECT code FROM Test GROUP BY Code HAVING COUNT(Code) > 1
Trường hợp code không phải là khóa chính thì sử dụng câu lệnh trên, Nếu code là khóa phụ thì chúng ta cần kiểm tra?