【发布时间】:2010-12-12 11:09:24
【问题描述】:
我有一个 Microsoft SQL Server 2008 查询,它使用左外连接从三个表中返回数据。很多时候,第二个和第三个表中没有数据,所以我得到一个空值,我认为这是左外连接的默认值。有没有办法替换 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 以外的数据库,导致该答案也显示在其他上下文的搜索结果页面上.
标签: mysql sql sql-server tsql sql-server-2008