SQL Server の大規模なクエリに問題があり、期待どおりに実行されていないコードのこのセクションをたどりました。
SELECT item_name,item_num,rst_units
FROM tbl_item left join tbl_sales_regional on item_num=rst_item
WHERE rst_month=7 and rst_customer='AB123'
最初のテーブル (tbl_item) には 10,000 レコードがあります。2 番目のテーブル (tbl_sales_regional) には、表示されている条件の 83 があります。
実行計画は、9,917 個の null を含む 10,000 レコードを返す代わりに、SQL Server が内部結合として書き直され、結果として 83 個の結果を返すことを示しています。
意図した結果を得るには、サブクエリを結合する必要があります。これが機能しない理由を誰かが説明できますか?