In clause where does not discriminate a subtraction

0

Hello, I have the following query. It is quite extensive but it is more or less like this

Select
 CantidadEmpacada, 
 CantidadFacturada
FROM PedidoEmpaque
WHERE (CantidadEmpacada - CantidadFacturada) > 0 

throws me 2 rows but when the subtraction is equal to zero, the same 2 rows keep coming out I have tried using also < > 0 and! = 0 but the results are the same.

EDITION I put the data for example @Lamak and @mauricioalvarez the question is that in sql is showing me all the data !!

CREATE TABLE [dbo].[PedidoEmpaque](
[NroPedido] [varchar](7) NOT NULL,
[IdReferenciaTamano] [int] NULL,
[CodigoTercero] [varchar](6) NOT NULL,
[RazonSocial] [varchar](100) NULL,
[NombreSucursal] [varchar](50) NULL,
[CantidadCancelada] [decimal](18, 2) NULL,
[DescuentoAdicionales] [decimal](6, 3) NULL,
[CantidadEmpacada] [decimal](18, 2) NULL,
[CantidadFacturada] [decimal](18, 2) NULL,
[PrecioUsuario] [decimal](9, 2) NOT NULL,
[Descuento] [decimal](6, 3) NULL,
[PrecioLista] [decimal](9, 2) NOT NULL
) ON [PRIMARY];

 INSERT [dbo].[PedidoEmpaque] ([NroPedido], [IdReferenciaTamano], 
 [CodigoTercero], [RazonSocial], [NombreSucursal], [CantidadCancelada], 
 [DescuentoAdicionales], [CantidadEmpacada],[CantidadFacturada], 
 [PrecioUsuario], [Descuento], [PrecioLista]) VALUES (N'46', 47734, 
 N'000019', 
 N'GAMMA COLORS', N'SUCURSAL PRINCIPAL', CAST(0.00 AS Decimal(18, 2)), 
 CAST(0.000 AS Decimal(6, 3)), CAST(0.00 AS Decimal(18, 2)), CAST(0.00 AS 
 Decimal(18, 2)),CAST(0.00 AS Decimal(9, 2)), CAST(0.000 AS Decimal(6, 3)), 
 CAST(43920.00 AS Decimal(9, 2)));
 INSERT [dbo].[PedidoEmpaque] ([NroPedido], [IdReferenciaTamano], 
 [CodigoTercero], [RazonSocial], [NombreSucursal], [CantidadCancelada], 
 [DescuentoAdicionales], [CantidadEmpacada],[CantidadFacturada], 
 [PrecioUsuario], [Descuento], [PrecioLista]) VALUES (N'49', 51964, 
 N'000019', N'GAMMA COLORS', N'SUCURSAL PRINCIPAL', CAST(0.00 AS Decimal(18, 
 2)), CAST(0.000 AS Decimal(6, 3)), CAST(500.00 AS Decimal(18, 
 2)),CAST(500.00 AS Decimal(18, 2)), CAST(0.00 AS Decimal(9, 2)), CAST(0.000 
 AS Decimal(6, 3)), CAST(2479.00 AS Decimal(9, 2)));
 INSERT [dbo].[PedidoEmpaque] ([NroPedido], [IdReferenciaTamano], 
 [CodigoTercero], [RazonSocial], [NombreSucursal], [CantidadCancelada], 
 [DescuentoAdicionales], [CantidadEmpacada],[CantidadFacturada], 
 [PrecioUsuario], [Descuento], [PrecioLista]) VALUES (N'48', 52801, 
 N'005090', N'ALMACE BON AIR', N'SUCURSAL 01', CAST(0.00 AS Decimal(18, 2)), 
 CAST(0.000 AS Decimal(6, 3)), CAST(0.00 AS Decimal(18, 2)), CAST(0.00 AS 
 Decimal(18, 2)),CAST(0.00 AS Decimal(9, 2)), CAST(0.000 AS Decimal(6, 3)), 
 CAST(0.00 AS Decimal(9, 2)));
 INSERT [dbo].[PedidoEmpaque] ([NroPedido], [IdReferenciaTamano], 
  [CodigoTercero], [RazonSocial], [NombreSucursal], [CantidadCancelada], 
 [DescuentoAdicionales], [CantidadEmpacada],[CantidadFacturada], 
[PrecioUsuario], [Descuento], [PrecioLista]) VALUES (N'49', 34660, 
N'000019', N'GAMMA COLORS', N'SUCURSAL PRINCIPAL', CAST(0.00 AS Decimal(18, 
2)), CAST(0.000 AS Decimal(6, 3)), CAST(300.00 AS Decimal(18, 2)), 
CAST(250.00 AS Decimal(18, 2)),CAST(0.00 AS Decimal(9, 2)), CAST(0.000 AS 
Decimal(6, 3)), CAST(4032.00 AS Decimal(9, 2)));
INSERT [dbo].[PedidoEmpaque] ([NroPedido], [IdReferenciaTamano], 
[CodigoTercero], [RazonSocial], [NombreSucursal], [CantidadCancelada], 
[DescuentoAdicionales], [CantidadEmpacada],[CantidadFacturada], 
[PrecioUsuario], [Descuento], [PrecioLista]) VALUES (N'46', 47734, 
N'000019', N'GAMMA COLORS', N'SUCURSAL PRINCIPAL', CAST(0.00 AS Decimal(18, 
2)), CAST(0.000 AS Decimal(6, 3)), CAST(458.00 AS Decimal(18, 2)), 
CAST(458.00 AS Decimal(18, 2)),CAST(0.00 AS Decimal(9, 2)), CAST(0.000 AS 
Decimal(6, 3)), CAST(43920.00 AS Decimal(9, 2)));
INSERT [dbo].[PedidoEmpaque] ([NroPedido], [IdReferenciaTamano], 
[CodigoTercero], [RazonSocial], [NombreSucursal], [CantidadCancelada], 
[DescuentoAdicionales], [CantidadEmpacada],[CantidadFacturada], 
[PrecioUsuario], [Descuento], [PrecioLista]) VALUES (N'51', -1, N'000033', 
N'CONFECCIONES D.LOLITA', N'SUCURSAL PRINCIPAL', CAST(0.00 AS Decimal(18, 
2)), CAST(0.000 AS Decimal(6, 3)), CAST(0.00 AS Decimal(18, 2)),CAST(0.00 AS 
Decimal(18, 2)), CAST(1000.00 AS Decimal(9, 2)), CAST(0.000 AS Decimal(6, 
3)), CAST(0.00 AS Decimal(9, 2)));

Ideally, it should show me the result as it appears in sql fiddle

    
asked by ger 12.03.2018 в 15:24
source

1 answer

1

I get the impression that you have one of two problems: 1. The data is not the same type, so I recommend you convert it

...
where (convert(float, CantidadEmpacada) - convert(float, CantidadFacturada)) > 0.00
  • You have some null value in the result of your data
  • ...

    where (isnull(CantidadEmpacada, 0) - isnull(CantidadFacturada, 0)) > 0.00
    

    Likewise it would be good if you could put the structure of the table and some sample data.

        
    answered by 12.03.2018 / 16:14
    source