我有一个存储过程,其中我试图选择表1中的所有列。还有另一个表使用Table1主键作为外键。我想指望在这个外键表的记录数选择这样的:使用select语句获取子表中的记录数
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
,但它给错误:
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.
请建议如何解决这一问题?
我们可以通过使用计数结果排序包括在组列列表? – DotnetSparrow
是的...当然...你可以添加'VacancyCount desc'或'VacancyCount asc'。 – TechDo
techdo:我正在尝试此订单 \t CASE WHEN @OrderByParam = 1 THEN NameLang1 ELSE VacancyCount END但它表示无效的列空缺计数 – DotnetSparrow