вы используете столбец, участвующий в левом соединении, в условии where
where B.razonsocial <> ''
эта работа в качестве внутреннего соединения пытается добавить условие в соответствующее условие on
select B.razonsocial as Empresa
, Facturas
, IFNULL(pay,0) as Pagos
, (Facturas - IFNULL(pay,0)) Saldo
FROM (
select TblFacturasCompras.id_proveedor
, TblProveedores.razonsocial
, SUM(case when
TblFacturasCompras.tipocomprobante = 'A'
or TblFacturasCompras.tipocomprobante='B'
or TblFacturasCompras.tipocomprobante = 'NDA'
or TblFacturasCompras.tipocomprobante = 'NDB'
or TblFacturasCompras.tipocomprobante = 'C'
or TblFacturasCompras.tipocomprobante = 'NDC'
or TblFacturasCompras.tipocomprobante = 'X'
then TblFacturasCompras.total
else -TblFacturasCompras.total end) as Facturas
from TblFacturasCompras
left join TblProveedores on TblFacturasCompras.id_proveedor = TblProveedores.id
group by TblProveedores.id
) A
LEFT JOIN (
select TblProveedores.id
, TblProveedores.razonsocial
, SUM(TblRecibosCompras.total) as Pay
from TblProveedores
left join TblRecibosCompras on TblRecibosCompras.id_proveedor = TblProveedores.id
group by TblProveedores.id
) B ON A.id_proveedor = B.id and B.razonsocial <> ''
order by B.razonsocial Asc
ипредложение, в котором вы можете использовать предложение IN вместо нескольких предложений OR
select B.razonsocial as Empresa
, Facturas
, IFNULL(pay,0) as Pagos
, (Facturas - IFNULL(pay,0)) Saldo
FROM (
select TblFacturasCompras.id_proveedor
, TblProveedores.razonsocial
, SUM(case when
TblFacturasCompras.tipocomprobante IN ('A','B','NDA','NDB','C','NDC','X')
then TblFacturasCompras.total
else -TblFacturasCompras.total end) as Facturas
from TblFacturasCompras
left join TblProveedores on TblFacturasCompras.id_proveedor = TblProveedores.id
group by TblProveedores.id
) A
LEFT JOIN (
select TblProveedores.id
, TblProveedores.razonsocial
, SUM(TblRecibosCompras.total) as Pay
from TblProveedores
left join TblRecibosCompras on TblRecibosCompras.id_proveedor = TblProveedores.id
group by TblProveedores.id
) B ON A.id_proveedor = B.id and B.razonsocial <> ''
order by B.razonsocial Asc