Detalle con una consulta de T-SQL

tema enviado por angello en C#
tema iniciado el 11/09/2007

Hola a todos... esta vez escribo con otro problema que espero sea común, resulta que en mi proyecto necesito hacer una consulta muy particular.. veran tengo una tabla que se llama "MovimientoInventario" que se llena precisamente con eso, jeje bien el chiste es que los Movimientos , pueden relacionarse con un cliente,proveedor o bien ninguno de los dos, y deben ser mostrados en una misma consulta, use  "UNION" para unir las consultas de movimientos relacionados con clientes y proveedores y funciona perfecto, el problema es que los que no estan relacionado con ninguno de ellos, el campo IdCliente e IdProveedor son NULL y ya  no me funciona la consulta es la siguiente:

SELECT MovimientoInventario.IdMovimientoInventario as Folio, MovimientoInventario.FechaMovimiento as Fecha, MovimientoInventario.Documento,

ConceptoMovimiento.Descripcion as Movimiento, MovimientoInventario.IdProveedor as IdClienteProveedor,

Proveedor.Nombre as 'Cliente/Proveedor', MovimientoInventario.TotalMovimiento,

MovimientoInventario.Observacion

From ConceptoMovimiento INNER JOIN

DMovimientoInventario ON ConceptoMovimiento.IdConcepto = DMovimientoInventario.IdConcepto INNER JOIN

Almacen ON DMovimientoInventario.IdAlmacen = Almacen.IdAlmacen INNER JOIN

MovimientoInventario ON DMovimientoInventario.IdMovimientoInventario = MovimientoInventario.IdMovimientoInventario INNER JOIN

Proveedor ON MovimientoInventario.IdProveedor = Proveedor.IdProveedor

 

UNION

SELECT MovimientoInventario.IdMovimientoInventario as Folio, MovimientoInventario.FechaMovimiento as Fecha, MovimientoInventario.Documento,

ConceptoMovimiento.Descripcion as Movimiento, MovimientoInventario.IdCliente as IdClienteProveedor,

Cliente.NombreFiscal as 'Cliente/Proveedor', MovimientoInventario.TotalMovimiento,

MovimientoInventario.Observacion

From ConceptoMovimiento INNER JOIN

DMovimientoInventario ON ConceptoMovimiento.IdConcepto = DMovimientoInventario.IdConcepto INNER JOIN

Almacen ON DMovimientoInventario.IdAlmacen = Almacen.IdAlmacen INNER JOIN

MovimientoInventario ON DMovimientoInventario.IdMovimientoInventario = MovimientoInventario.IdMovimientoInventario INNER JOIN

Cliente ON MovimientoInventario.IdCliente = Cliente.IdCliente