【发布时间】:2020-05-27 00:47:35
【问题描述】:
我正在尝试从两个表中选择多个值,但我想按单个值分组。我尝试在 select 中使用 max(value) 但 max 返回的是最大的,而不是确切的。
我需要的结果是这样的
Result : HeadQuarterId - A, PropertyName - Name1, Amount - 102
HeadQuarterId - B, PropertyName - Name5, Amount - 30
这是我的查询
SELECT Headquarterid,Max(PropertyName),sum(Amount)
FROM Table1 A LEFT OUTER JOIN Table2 B
ON A.Propetyid = B.PropertyId
GROUP BY Headquarterid
这里我使用了左外连接,这样我就可以从左表中获取所有数据,即使它在右表中不可用。
我也不能在 where 条件下使用 A.HeadquarterID = A.PropertyId,因为我在该表中有其他依赖项。请提出其他方法来实现此结果。
【问题讨论】:
-
我不确定我是否理解您想要实现的目标...您示例中的 101 来自哪里?预期的结果究竟是什么?您的表格似乎通过 propertyid 具有 1:1 的关系 - 所以我希望总部 A 的结果为 46
-
@Tyron78 从问题来看,我相信101是表2中所有
Amount的总和 -
@Tyron78 是金额栏的总和
-
用您正在使用的数据库标记您的问题。
-
编辑问题添加更多示例数据和所需的结果会有所帮助。
标签: sql group-by sql-server-2012