SQL でのテーブルと一意の日付値のマージ
この課題には、インバウンドとアウトバウンドの 2 つのテーブルをマージし、結果のテーブルが確実に表示されるようにすることが含まれます。
提供された VBA コードは、UNION ALL を使用してテーブルを正常にマージします。ただし、日付を一意にするには、変更が必要です。
修正されたクエリでは、UNION ALL と GROUP BY の両方が使用されています。具体的には、UNION ALL を使用して両方のテーブルのデータを 1 つのデータセットに結合し、その結果を日付と製品ごとにグループ化します。これにより、日付と製品の各組み合わせが結合されたテーブルに 1 回だけ表示されるようになります。
最終的なクエリは次のとおりです。
SELECT Date, Product, SUM(Inbound) AS Inbound, SUM(Outbound) AS Outbound FROM ((SELECT Inbound_Date AS Date, Product, SUM(Quantity) AS Inbound, 0 AS Outbound FROM Inbound GROUP BY 1, 2 ) UNION ALL (SELECT Outbound_Date, Product, 0 AS Inbound, COUNT(*) AS Outbound FROM Outbound GROUP BY 1, 2 ) ) AS io GROUP BY Date, Product;
この変更により、結合されたテーブルには一意の日付が表示されます。必要なデータ集約を維持しながら。
以上がSQLで固有の日付を持つインバウンド/アウトバウンドデータをマージおよび集計する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。