SQL Soustraire deux colonnes sur des tables différentes

J'ai deux tables, Client, et Factures, je dois énumérer tous les clients avec leur crédit restant. J'essaie de soustraire la sum de la colonne Facture montant de la colonne CreditLimit pour me donner le crédit restant?

les tables

Ceci est ma requête jusqu'à présent

 DECLARE @CreditRemaining INT SELECT @CreditRemaining = (c.CreditLimit - SUM(i.Amount)) FROM Customer c INNER JOIN Invoices i on c.ID = i.customerId 

Utilisez une table dérivée pour le montant de la facture SUM() , puis JOIN au client:

 DECLARE @CreditRemaining INT SELECT @CreditRemaining = (c.CreditLimit - TotalSpent) FROM Customer c INNER JOIN (SELECT SUM(Amount) TotalSpent, CustomerID FROM Invoices GROUP BY CustomerID) i ON i.CustomerID = c.ID 

Comme d'autres l'ont mentionné, cela suppose que vous limitiez votre sélection à un client.

Pour tous les clients, utilisez simplement un select:

 SELECT C.Name, (c.CreditLimit - TotalSpent) CreditRemaining FROM Customer c INNER JOIN (SELECT SUM(Amount) TotalSpent, CustomerID FROM Invoices GROUP BY CustomerID) i ON i.CustomerID = c.ID GROUP BY C.Name