У мене є запит 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 за замовчуванням стали нульовими, якщо можливо.