0

編集:やあみんな、

私はそれを考え出した

select LI.ProjectId, count(*) as numLineItems
into #temp
from dbo.SQLLineItems as LI
group by LI.ProjectId
having COUNT(*) < =200

select numLineItems, count(*), SUM(PT.GrandTotalSell) from
#temp
inner join dbo.SQLProjectTotals as PT
on PT.ProjectId = #temp.ProjectId
group by numLineItems;

ご協力ありがとうございました。


プロジェクト情報を含む 2 つのテーブルがあります。テーブル 1 には、それぞれがそのテーブルに固有の GUID と ProjectID の GUID を持つ LineItems が含まれています。1 つの ProjectID に対して複数の LineItems が存在する可能性があるため、各 ProjectID が重複しています。

表 2 はプロジェクト ID によって表 1 にリンクされており、GUID はその表で一意です。表 2 には、各プロジェクトの価格も含まれています。

プロジェクトを LineItems の数で分類して、1、2、3、4... アイテム プロジェクトのプロジェクト数を確認したいと考えました。

私は動作するクエリを書きました:

use FieldedProjects;

select LI.ProjectId, count(*) as numLineItems
into #temp
from dbo.SQLLineItems as LI
group by LI.ProjectId
having COUNT(*) < =15

select numLineItems, count(*) from
#temp
group by numLineItems;

しかし今、価格の合計を表示するように変更したいと考えています。したがって、1 アイテムのプロジェクトの合計プロジェクト価格は 100、2 アイテムのプロジェクトは 300、...

みたいなことを考えていた

use FieldedProjects;

select LI.ProjectId, count(*) as numLineItems, SUM(PT.GrandTotalSell) as projectTotal
into #temp
from dbo.SQLLineItems as LI
inner join dbo.SQLProjectTotals as PT
on LI.ProjectID = PT.ProjectID
group by LI.ProjectId
having COUNT(*) < =15

select numLineItems, count(*), projectTotal from
#temp
group by numLineItems;

しかし、 projectTotal が集計関数に含まれていないため、エラーが発生します。あるはずですか

select numLineItems, count(*), SUM(projectTotal) from
4

1 に答える 1