У меня проблемы с настройкой моей пользовательской функции. Я работаю на SQL Server 2000.
Я пытаюсь вернуть таблицу всех пользователей с равным балансом в таблице "BillingTransactions". Наши транзакции указываются в поле RecordType; 0 для покупки, 1 для оплаты. Поэтому я пытаюсь получить список всех пользователей, в которых сумма каждой транзакции с RecordType 0 равна сумме каждой транзакции с RecordType 1. Вот как теперь выглядит внутренняя часть моей функции:
SELECT DISTINCT UserName FROM BillingTransactions
WHERE (SELECT SUM(AMOUNT)
FROM BillingTransactions
WHERE [BillingTransactions].[RecordType]= 0
AND
[BillingTransactions].[UserName]= UserName)
=
(SELECT SUM(AMOUNT)
FROM BillingTransactions
WHERE [BillingTransactions].[RecordType]= 1
AND
[BillingTransactions].[UserName]= UserName)
У меня такое чувство, что это не самый эффективный способ сделать это ... Есть ли другой способ увидеть, как это сделать? Спасибо!