Q: Restar dos columnas a partir de una condición Quiero  el total de consignaciones y restarle el total de retiros Y tengo esto hasta el momento pero no se como hacerle la resta
SELECT C.IdSucursal, P.NombreSucursal, SUM(M.ValorMovimiento) AS Consignaciones
FROM MOVIMIENTOS_CUENTA M  
JOIN CUENTA C ON M.NumeroCuenta = C.NumeroCuenta
JOIN SUCURSAL P ON  C.IdSucursal = P.IdSucursal
WHERE TipoMovimiento = 2
GROUP BY C.IdSucursal,P.NombreSucursal

Los retiros serian el TipoMovimiento=1

A: Me parece que estás buscando algo como esto:
SELECT C.IdSucursal, 
       P.NombreSucursal, 
       SUM(CASE WHEN TipoMovimiento = 2 THEN M.ValorMovimiento ELSE 0 END) AS Consignaciones,
       SUM(CASE WHEN TipoMovimiento = 1 THEN M.ValorMovimiento ELSE 0 END) AS Retiros,
       SUM(CASE WHEN TipoMovimiento = 1 THEN -1 ELSE 1 END * M.ValorMovimiento) AS Neto
       FROM MOVIMIENTOS_CUENTA M  
       JOIN CUENTA C 
            ON M.NumeroCuenta = C.NumeroCuenta
       JOIN SUCURSAL P 
            ON  C.IdSucursal = P.IdSucursal
       GROUP BY C.IdSucursal,
                P.NombreSucursal

Detalle:

*

*Se trata de una suma condicionada con un CASE

*Nota que hemos quitado el filtro del WHERE ya que necesitamos todos los mocvimientos

*El "neteo" de Consignaciones y Retiros, lo hacemos simplemente haciendo negativo los valores de Retiros en la suma de todos los movimientos

