tipos restricciones restriccion mayusculas ejemplos ejemplo check sql sql-server tsql sql-server-2008

mayusculas - restricciones mysql



Reemplazar los valores nulos predeterminados devueltos de la uniĆ³n externa izquierda (2)

Tengo una consulta de Microsoft SQL Server 2008 que devuelve datos de tres tablas usando 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.

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 Regular de manera predeterminada a cero si es posible.


Eso es tan fácil como

IsNull(FieldName, 0)

O más completamente:

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''


No es su ISNULL, en este IFNULL.

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