私はいくつかのディストリビュータを持つフィーダを持つデータベースを持っています。各フィーダにはいくつかのトランスと、複数のクライアントと、特定のkVA(クライアントへの電力) 。和は変圧器が持つさまざまなkVAの和を持って来ることになっている同じ値を持つ 'distinct'行を合計する
SELECT f.feeder,
d.distributor,
count(DISTINCT t.transformer) AS total_transformers,
sum(t.Kvan) AS Total_KVA,
count(c.client) AS Clients,
FROM feeders f
LEFT JOIN distributors d
ON (d.feeder = f.feeder)
LEFT JOIN transformers t
ON (t.transformer = d.transformer)
LEFT JOIN clients c
ON (c.transformer = t.transformer)
WHERE d.transformer IS NOT NULL
GROUP BY f.feeder,
d.distributor,
f.feeder
ORDER BY f.feeder,
d.distributor
: は、私は次のコードを持っています。各変圧器には一定のkVAがあります。問題は、接続されているすべてのクライアントに対して1つの変圧器が1kVAを持っていますが、クライアントあたり1kVAのように合計します。 フィーダとディストリビューターにグループ分けする必要があります(ディストリビューターにはどれくらいのkVAがあり、どのくらいの数のクライアントが集まっているのか見たいと思っています)。 "feeder1 | dist1 | 2 | 600 | 374"にすると、 "feeder1 | dist1 | 2 | 130000 | 374"(1トランスに200 kVA、もう1つに400がありますが、 400 + 200)
質問の書式を設定し、関連するRDBMSにタグを付け、サンプルデータと予想される出力を追加します。 – sagi
あなたの 'Where'句は' Left Join'を 'Inner Join'に変換しました。そして重要なことではなく、「フィーダー」で2回グループ化する必要はありません。 –
**あなたの質問を編集し、そのデータに基づいてサンプルデータと予想される出力を追加してください。 [**フォーマットされたテキスト**](http://stackoverflow.com/help/formatting)、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-asking-a-question/285557#285557) –