誰かが私のSQLステートメントを再確認して適切な操作と一般的な常識的なアプローチを見つけることができますか?
状況は次のとおりです。AccountNumberKeyという名前の列に結合された、1対多の関係を持つ親子テーブルがあります。子テーブルには、合計する必要のある数値列があります。
データは、特定のAccountNumberKey値を持つすべての子レコードが、2つの数値列で常に同じ値を持つようになっています。これらのテーブルを結合し、AccountNumberKeyごとに、これら2つの列の合計を一時テーブルに入れます。各AccountNumberKeyを指定して、単一の子レコードの列を合計するだけで済みます。
以下のいくつかのサンプルデータは、これをより明確にするでしょう(私は願っています):
Parent Table Columns
ParentID InstitutionID AccountNumberKey
1 LocalHost 1873283
2 Acme Brokers 3627389
3 Dewey, Cheatem 1392876
4 NCC1701 8837273
5 Peyton Place 9981273
Child Table Columns
ChildID AccountNumberKey Value1 Value2 ProposalNumber
1 1873283 1000 100 58
2 1873283 1000 100 59
3 1873283 1000 100 60
4 1873283 1000 100 61
これが私のSQLステートメントです:
SELECT DISTINCT Parent.InstitutionID, AccountNumberKey, SUM(Child.Value1 + Child.Value2) as total
INTO #TempTable
FROM Parent
INNER JOIN
Child ON Parent.AccountNumberKey = Child.AccountNumberKey
GROUP BY Parent.InstitutionID, Parent.AccountNumberKey, Child.ProposalNumber
目標は、テーブルをリンクし、データを一時テーブルに配置して、次のようにすることです。
TempTable columns
InstitutionID AccountNumberKey Total
LocalHost 1873283 1100
私のSQLクエリはマスターを渡しますか?グループ化に関しては私は天才ではなく、これがA)正しく、B)うまくいく方法なのか、それとももっと良い参加方法があるのか疑問に思いました。
ありがとう!