Может быть полезно получить дополнительную информацию.
Если у вас есть критерии, которые определяют ваш конкретный список банковских и учетных записей, вам следует присоединиться к этим таблицам.
У вас есть таблица банка и таблица счета, не так ли?
Предполагая, что у вас есть информация в таблице счетов, которая сужает конкретные учетные записи, на которые вы хотите сослаться, например, предположим, что в вашей таблице счетов есть поле IsActive char (1) NOT NULL, и вы хотите, чтобы сальдо для неактивных учетных записей вы писали как то так:
SELECT date, sum( amount ) AS amount
FROM Balances b
INNER JOIN Accounts a
ON b.Bank = a.Bank AND b.Account = a.Account
WHERE a.IsActive = 'N'
С точки зрения дизайна вам, вероятно, следовало бы создать искусственный ключ для удаления репликации неидентифицирующих данных между таблицами. Это даст вам что-то вроде этого:
CREATE TABLE Accounts (
AccountId int identity(1,1) NOT NULL,
Bank nvarchar(15) NOT NULL,
Account nvarchar(15) NOT NULL
)
CREATE TABLE Balances (
AccountId int,
Date datetime,
Amount money
)
Это позволяет редактировать ошибки в полях "Банк" или "Счет", не касаясь этих изменений в таблице "Балансы", а также слегка упрощенного запроса.
SELECT date, sum( amount ) AS amount
FROM Balances b
INNER JOIN Accounts a
ON b.AccountId = a.AccountId
WHERE a.IsActive = 'N'