вам нужен ноль для добавления столбца Дебе и Хабера, где его нет, в противном случае вы получите оба результата в одних и тех же столбцах (Дебе)
SELECT TblFacturas.id as ID
, TblClientes.razonsocial as Cliente
,TblFacturas.fecha as Fecha
,TblFacturas.tipocomprobante as Tipo
,TblFacturas.nrofacturacompleto as Numero
, TblFacturas.total as Debe
, null as Haber
FROM TblFacturas
left join TblClientes on TblClientes.id = TblFacturas.id_cliente
where TblClientes.razonsocial = 'S.A.'
UNION ALL
SELECT TblRecibos.id
, TblClientes.razonsocial
,TblRecibos.fecha
, 'R'
,TblRecibos.nrorecibocompleto
, null
, TblRecibos.total
FROM TblRecibos
left join TblClientes on TblClientes.id = TblRecibos.id_cliente
where TblClientes.razonsocial = 'S.A.'
order by fecha
И еще одно предложение ... у вас есть столбец, участвующий в левом соединении, в условии, где эта работа рассматривается как внутреннее объединение, исключая строки, если для этого нет значений, соединенных слева, вы должны
или переместите условие where в предложении on (если вам нужны также строки без перехода)
SELECT TblRecibos.id
, TblClientes.razonsocial
,TblRecibos.fecha
, 'R'
,TblRecibos.nrorecibocompleto
, null
, TblRecibos.total
FROM TblRecibos
left join TblClientes on TblClientes.id = TblRecibos.id_cliente
AND TblClientes.razonsocial = 'S.A.'
или используйте внутреннее соединение, если вам нужны только совпадающие строки
SELECT TblRecibos.id
, TblClientes.razonsocial
,TblRecibos.fecha
, 'R'
,TblRecibos.nrorecibocompleto
, null
, TblRecibos.total
FROM TblRecibos
INNER join TblClientes on TblClientes.id = TblRecibos.id_cliente
AND TblClientes.razonsocial = 'S.A.'