错误与';分组依据';从sql server中的联接表

错误与';分组依据';从sql server中的联接表,sql,sql-server-2008,inner-join,Sql,Sql Server 2008,Inner Join,我有两个表,表1带有城市代码、姓名、人口,表2带有城市代码、类型。 我需要按城市类型计算人口总数,因此我使用以下代码: SELECT SUM(population) FROM Table1 JOIN Table2 ON Table2.City_Code = Table1.City_Code GROUP BY Table2.Type 生成的表如下所示 确实有6个城市“类型”,总数是正确的,但数字不匹配。我已经用excel中的sumif检查了数据,实际的总和是: 为什么SQL结果不在类型的正

我有两个表,表1带有
城市代码、姓名、人口
,表2带有
城市代码、类型
。 我需要按城市类型计算人口总数,因此我使用以下代码:

SELECT SUM(population) FROM Table1 
JOIN Table2 ON Table2.City_Code = Table1.City_Code
GROUP BY Table2.Type
生成的表如下所示

确实有6个城市“类型”,总数是正确的,但数字不匹配。我已经用excel中的
sumif
检查了数据,实际的总和是:


为什么SQL结果不在类型的正确填充中

查询没有错误,因为它正在输出结果。只是结果的顺序不同于您预期的结果。试试这个

SELECT  Table2.Type, SUM(population) TotalPopulation 
FROM    Table1 JOIN Table2 ON Table2.City_Code = Table1.City_Code
GROUP   BY Table2.Type
ORDER   BY Table2.Type

两张图片中的数字相同。只是顺序不同。添加
table 2.在
SELECT
列表中键入
。就这么简单吧?谢谢