これはばかげた質問のように聞こえるかもしれません - これが以前に回答されていたら (ほぼ確実に) 申し訳ありませんが、検索で回答を見つけることができませんでした。
特定の日のトランザクション、前月のトランザクション、前の 6 か月のトランザクション、その後のトランザクションなど、さまざまな列のさまざまな方法でテーブルの値をサブクエリとして集計するクエリがあります。メイン テーブルを tx としてエイリアスし、次にサブクエリ エイリアスを tx1 としてエイリアスしました
SELECT
tr.transaction_value
,ISNULL(
(SELECT SUM(tr1.transaction_value) FROM [MyDB].[dbo].[Transactions] tr1
WHERE tr1.Client_Ref = tr.Client_Ref),0) AND tr1.Transaction_Date > tr.Transaction_Date
),0) as 'Future_Transactions'
,ISNULL(
(SELECT SUM(tr1.transaction_value) FROM [MyDB].[dbo].[Transactions] tr1
WHERE tr1.Client_Ref = tr.Client_Ref),0) AND tr1.Transaction_Date < tr.Transaction_Date
),0) as 'Prior_Transactions'
FROM [MyDB].[dbo].[Transactions] tr
サブクエリを含む7つの列があり、サブクエリでテーブルを7回定義している場合、再作成するのではなく、メインテーブルクエリでINNER JOINとしてtx1を作成することが可能であり、より良い(より効率的で読みやすい)かどうかを知りたい各サブクエリでそれを使用します。そうであれば、WHERE 句をどのようにコーディングしますか? ありがとう:o)