Sql server T-SQL";不包含在聚合函数或GROUP BY子句中;

Sql server T-SQL";不包含在聚合函数或GROUP BY子句中;,sql-server,tsql,subquery,aggregate,Sql Server,Tsql,Subquery,Aggregate,我有一个工作查询,它会告诉我离美国每个zipcode最近的商店位置,但当我尝试让外部查询选择所述商店的相关邮政编码时,它告诉我必须将zipcode添加到聚合中;然而,如果我按Zip进行订购,那么它不会显示所有笛卡尔积。感谢您的帮助 select Sub1.Zip as Zip, Sub1.Zip_ID as Zip_ID, MIN(Sub1.Distance) as Distance from ( SELECT Z.Zip, Z.Zip_ID,

我有一个工作查询,它会告诉我离美国每个zipcode最近的商店位置,但当我尝试让外部查询选择所述商店的相关邮政编码时,它告诉我必须将zipcode添加到聚合中;然而,如果我按Zip进行订购,那么它不会显示所有笛卡尔积。感谢您的帮助

select
Sub1.Zip as Zip,
Sub1.Zip_ID as Zip_ID,
MIN(Sub1.Distance) as Distance from
    (
    SELECT 
    Z.Zip,
    Z.Zip_ID, 
       ((Sqrt(Square((Z.lat  - S.lat) *68.96799738887665) 
         + Square((Z.long - S.long)*54.69366983621222)))) Distance
    FROM   
    Tbl_Stores_Coordinates S
    CROSS JOIN Zip_Code_Coordinates Z
    )Sub1
group by Sub1.Zip_ID

您之所以出现此错误,是因为您正在
选择
ing
Zip
Zip\u ID
,但您只是
ing by
Zip\u ID

您必须按您选择的所有非聚合列对
进行分组,如下所示:

select
Sub1.Zip as Zip,
Sub1.Zip_ID as Zip_ID,
MIN(Sub1.Distance) as Distance
....
group by Sub1.Zip, Sub1.Zip_ID

您之所以出现此错误,是因为您正在
选择
ing
Zip
Zip\u ID
,但您只是
ing by
Zip\u ID

您必须按您选择的所有非聚合列对
进行分组,如下所示:

select
Sub1.Zip as Zip,
Sub1.Zip_ID as Zip_ID,
MIN(Sub1.Distance) as Distance
....
group by Sub1.Zip, Sub1.Zip_ID