Tôi đã hy vọng chạy một truy vấn đơn lẻ và nhận kết quả từ đó. Tuy nhiên, MSSQL phàn nàn về một lỗi cú pháp gần từ khóa GROUP
. Tôi đã hy vọng làm như sau.Chọn không thành công, nhưng khi xem nó hoạt động
SELECT COUNT(*) AS cnt,Field_2
FROM (SELECT DISTINCT Field_1, Field_2
FROM Table_1)
GROUP BY Field_2
HAVING COUNT(*) > 1
Thay vào đó tôi đã phải tạo ra một cái nhìn, View_1, với truy vấn
SELECT DISTINCT Field_1, Field_2
FROM Table_1
Và sau đó làm một
SELECT COUNT(*) AS cnt, Field_2
FROM View_1
GROUP BY Field_2
HAVING COUNT(*) > 1
Câu hỏi đặt ra là tại sao, trong tâm trí của tôi nó về cơ bản là cùng một SQL.
Lưu ý: Tên trường, bảng và tên đã được thay đổi để bảo vệ người vô tội. ;-)
Aha, một giải pháp đơn giản. Cảm ơn nhiều. –
Để công bằng, SQL Server không thể đổ lỗi cho thiết kế ngôn ngữ xấu này vì nó được chỉ định trong Chuẩn SQL-92. Trong các tác phẩm của ông, [Hugh Darwen] (http://www.dcs.warwick.ac.uk/~hugh/TTM/Importance-of-Column-Names.pdf) luôn sử dụng một tên tương quan bảng pejorative (cái gì khác từ SQL -92; 'bí danh' là thông tục :) chẳng hạn như 'TEETH_GNASHER'. – onedaywhen