Tengo una consulta de Microsoft SQL Server 2008 que devuelve datos de tres tablas utilizando una combinación externa izquierda. Muchas veces, no hay datos en la segunda y tercera tablas, así que obtengo un valor nulo que creo que es el predeterminado para la combinación externa izquierda. ¿Hay alguna manera de reemplazar los valores predeterminados en la declaración de selección? Tengo una solución en el sentido de que puedo seleccionar una variable de tabla, pero se siente un poco sucia.Reemplazar valores nulos predeterminados devueltos desde el exterior izquierdo Unir
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'
Me gustaría que la cantidad y el precio normal por defecto a cero si es posible.
Sabía que tenía que ser fácil, pero por alguna razón, estaba bloqueado sobre cómo hacerlo. Gracias. –
Si es MySQL, IsNull debe reemplazarse por 'IFNULL'. Gracias. – Dhanushka
En PostgreSQL, parece ser ["COALESCE"] (http://www.postgresql.org/docs/9.3/static/functions-conditional.html). Para MySQL, la página de manual está aquí: ["IFNULL"] (http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html). No estoy seguro sobre el estándar. –