Ich habe eine Microsoft SQL Server 2008-Abfrage, die Daten aus drei Tabellen mithilfe eines linken äußeren Joins zurückgibt. Oft sind in der zweiten und dritten Tabelle keine Daten enthalten, und daher erhalte ich eine Null, die meiner Meinung nach die Standardeinstellung für den linken äußeren Join ist. Gibt es eine Möglichkeit, die Standardwerte in der select-Anweisung zu ersetzen? Ich habe eine Problemumgehung, bei der ich eine Tabellenvariable auswählen kann, die sich jedoch etwas schmutzig anfühlt.
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'
Ich möchte, dass Quantity und RegularPrice nach Möglichkeit standardmäßig auf Null gesetzt werden.