有没有人知道如何从具有相同FK值的表中选择所有行而不给出其值?我有一个仓库数据库。它在每个部门都有一定数量的部门和项目。我想用单个查询选择项目总值大于某个数字的行业。我希望查询是通用的 - 它应该总结仓库每个部门的项目的总体价值(没有规定的数量或者有多少部门)任何人都知道怎么做?我不需要一个完整的查询,只是一种方式来说我的数据库,它总结了某些部门的所有值。 SectorID是外键,Item是表(ItemID为公钥,Value为item的值)
答案 0 :(得分:0)
我会使用一系列查询。基本上,这个问题可以解决如下:
假设Item和Sector表中都存在ID列。设为充当阈值 T 的值(如上所述由单个查询返回的特定数字):
答案 1 :(得分:0)
您似乎想要group by
查询。这是非常基础的,所以我假设你对SQL很新:
select SectorId, sum(itemValue) as TotalItemValue
from warehouse w
group by SectorId
having sum(itemValue) > YOURVALUEHERE;
如果您想要这些行业中的项目,那么您可以使用join
或in
来获取该项:
select *
from warehouse w
where SectorId in (select SectorId
from warehouse
group by SectorId
having sum(itemValue) > YOURVALUEHERE
)