gpt4 book ai didi

mysql - 替换从左外连接返回的默认空值

转载 作者:IT老高 更新时间:2023-10-28 12:51:53 25 4
gpt4 key购买 nike

我有一个 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 默认为零。

最佳答案

就这么简单

IsNull(FieldName, 0)

或更完整地说:

SELECT iar.Description, 
ISNULL(iai.Quantity,0) as Quantity,
ISNULL(iai.Quantity * rpl.RegularPrice,0) 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'

关于mysql - 替换从左外连接返回的默认空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com