単純な SQL SELECT コマンドだと思っていたものについて、何時間も頭を悩ませてきました。私はあらゆる場所を検索し、私に関連するすべての質問を読みました。私は SQL Command Builder を試してみましたが、完全な一連の SQL チュートリアルとマニュアルを読んで適用し、それを理解してゼロから構築しようとしました (これは、最終的に構築する必要がある次のコマンドに関して、私にとって非常に重要です...) .
しかし、今は私が望む結果に固執していますが、別々の SELECT コマンドではまとめられないようです!
これが私のケースです:3つのテーブル、最初は共通のIDで2番目にリンクされ、2番目は別の共通IDで3番目にリンクされていますが、最初から3番目までの共通IDはありません。まあ言ってみれば :
Table A : id, name
Table B : id, idA, amount
Table C : id, idB, amount
表 A にいくつかの名前。まあ言ってみれば :
A.id
A.name
SUM(B.amount) WHERE B.idA = A.id
SUM(C.amount) WHERE C.idB = B.id for each B which B.idA = A.id
「最初の 3 列」と「最初の 2 列と 4 番目の列」はどちらも WHERE 句または LEFT JOIN で問題ありません。しかし、すべてを台無しにすることなく、4 番目の列すべてを累積することはできません。
「簡単です。表 C に idA 列を入れるだけです」 ! 確かに、もっと簡単なはずです。しかし、それは本当に必要ですか?そうは思いませんが、間違っている可能性があります。ですから、SQL のスキルを持っている人なら誰でも (永遠の「SQL ゴッド」の装飾を贈ります) 笑って答えてくれます。
VB 2010 および MS SQL Server の実行
読んでくれてありがとう !