Tôi khủng khiếp với SQL. Tôi không biết liệu những gì tôi đang cố làm là có thể. Nhưng, do cấu trúc dữ liệu của chúng tôi, tôi cần phải giải quyết vấn đề này theo cách này hoặc thực hiện một thay đổi kiến trúc lớn.SQL - LEFT OUTER JOIN và mệnh đề WHERE
Tôi đang cố gắng đếm số 'Tỉnh' (a.k.a States) cho Quốc gia. Tuy nhiên, chỉ có một vài tỉnh mà cần phải được bỏ qua từ đếm. Bởi vì điều này, tôi đang cố gắng lấy một danh sách các quốc gia, với số lượng các tỉnh ở mỗi quốc gia.
Ví dụ: tôi cần truy vấn Hoa Kỳ và bỏ qua 'Washington D.C.' từ số lượng. Lý do tại sao là bởi vì theo yêu cầu của chúng tôi, Washington D.C. không phải là một tiểu bang. Đây là những gì tôi đang cố gắng tại thời điểm này (nó không hoạt động):
SELECT
c.Name AS 'CountryName',
ISNULL(COUNT(p.[ID]), 0) as 'ProvinceCount'
FROM
Country c LEFT OUTER JOIN [Province] p ON p.[CountryID]=c.[ID]
WHERE
c.[ID][email protected] and
p.[Name] <> 'Washington D.C.'
Như bạn có thể hình dung, truy vấn này không trả lại bất kỳ kết quả nào khi thông số idParameter khớp với Hoa Kỳ.
Làm cách nào để nhận số đếm chính xác trong khi tìm ra ngoại lệ? Cảm ơn bạn rất nhiều vì đã giúp đỡ của bạn.
Có. Bạn đúng. Rất tiếc. –