我需要计算项目包含的高程总数。
我可以通过以下代码获得高程类型的总数。
(SELECT COUNT(*) FROM Storefront.Elevation e WHERE e.ProjectID = p.ID)'Elevations'
但我遇到的情况是,项目的高程可以有多个特定高程。因此,一个项目可以有1-n个高程,但是一个高程现在可以有1-n的特定类型。因此,如果一个项目有3个高程,其中一个高程类型有5个高程,那么项目现在将有7个高程而不是3个,因为其中一个项目高程有5个类型。
以下是我尝试的但是我收到了这个错误:
(SELECT COUNT(*) * e.Quantity FROM Storefront.Elevation e WHERE e.ProjectID = p.ID)'Elevations'
- 错误
Column 'Storefront.Elevation.Quantity' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
我理解错误,我只需要知道如何纠正写这个tsql。
答案 0 :(得分:1)
鉴于您对每个高程都有一个数量列,为什么不将它们相加?
select sum(e.Quantity)
from Storefront.Elevation e
where e.ProjectID = p.ID