Tôi có một quy trình được lưu trữ trong đó tôi đang cố gắng chọn tất cả các cột trong bảng Bảng 1. Có một bảng khác sử dụng khóa chính Table1 làm khóa ngoài. Tôi muốn đếm số lượng các bản ghi trong bảng này chính nước ngoài với điều đó chọn như thế này:Lấy số lượng bản ghi trong bảng con bằng cách sử dụng câu lệnh chọn
SELECT *, count(*) VacancyCount
FROM Table1 hc
LEFT JOIN Table2 hv
on hc.CompanyID = hv.CompanyID
WHERE hc.Deleted = 0
group by hc.CompanyID
ORDER BY NameLang1
nhưng nó mang lại cho lỗi:
Column 'dbo.Table1.NameLang1' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Xin gợi ý làm thế nào để sửa lỗi này?
Chúng ta có thể đặt hàng bằng cách sử dụng kết quả đếm? – DotnetSparrow
Yea ... chắc chắn ... U có thể thêm 'VacancyCount desc' hoặc' VacancyCount asc'. – TechDo
techdo: Tôi đang thử Lệnh này theo số \t TRƯỜNG HỢP KHI @OrderByParam = 1 THEN NameLang1 ELSE VacancyCount END nhưng nó cho biết cột không hợp lệ VacancyCount – DotnetSparrow