SQL查询求和
我有两张桌子 单位SQL查询求和,sql,Sql,我有两张桌子 单位 Unit_id Unit_name Unit_cost 组件 Component_id Component_name Unit_id 它们通过单元id链接在一起 Unit\u id=1具有名称的成本为100的Unit 1 name在组件中有大量记录 Unit\u id=2名称为Unit 2 name且成本为200的,在组件中也有大量记录 因此,总成本取决于组件表中与单元中的单元id匹配的记录数,以及单元表中的单价 我需要Unit表中总成本最高(Unit.Unit\u co
Unit_id
Unit_name
Unit_cost
组件
Component_id
Component_name
Unit_id
它们通过单元id
链接在一起
Unit\u id=1
具有名称的成本为100的Unit 1 name
在组件中有大量记录
Unit\u id=2
名称为Unit 2 name
且成本为200的,在组件中也有大量记录
因此,总成本取决于组件
表中与单元
中的单元id
匹配的记录数,以及单元
表中的单价
我需要Unit
表中总成本最高(Unit.Unit\u cost
)的一个单元的单个Unit\u名称。注:我只需要单位名称,而不是总成本
在查询中最好使用Top(1)
?查询结果如何?我想您希望这样:
select top (1) u.unit_name
from unit u join
component c
on c.unit_id = u.unit_id
group by u.unit_id, u.unit_name
order by sum(c.cost) desc;
假设单位成本应乘以相关组件的数量:
select top 1 name from(
select u.unit_name AS name, count(c.component_id) * u.unit_cost AS cost
from unit u join components c on u.unit_id = c.unit_id)
order by cost desc
在“计算内部查询名称和单位成本”中,在“外部查询”中,选择“具有最大成本的单位的名称”。如果需要以其他方式计算成本,请在查询中更改计数(c.组件id)*u.单位成本
公式是否可以添加测试数据并解释如何根据相关组件的计数计算总成本?您应该确定您使用的DBMS;答案可能会有所不同。