左外部結合を使用して3つのテーブルからデータを返すMicrosoft SQL Server 2008クエリがあります。多くの場合、2番目と3番目のテーブルにはデータがないため、左外部結合のデフォルトであると思うnullを取得します。selectステートメントのデフォルト値を置き換える方法はありますか?私はテーブル変数に選択できるという回避策がありますが、少し汚れているように感じます。
SELECT iar.Description, iai.Quantity, iai.Quantity * rpl.RegularPrice as 'Retail',
iar.Compliance FROM InventoryAdjustmentReason iar
LEFT OUTER JOIN InventoryAdjustmentItem iai on (iar.Id = iai.InventoryAdjustmentReasonId)
LEFT OUTER JOIN Item i on (i.Id = iai.ItemId)
LEFT OUTER JOIN ReportPriceLookup rpl on (rpl.SkuNumber = i.SkuNo)
WHERE iar.StoreUse = 'yes'
可能であれば、QuantityとRegularPriceのデフォルトをゼロに設定します。
注:この投稿の回答の一部はMSFT sql-server以外のデータベースを扱っているため、この回答は他のコンテキストの検索結果ページにも表示されます。
—
dreftymac