Сценарий: DD - это информация о депозите, имеющая собственный идентификатор, а D - фактический депозитДетали состоят из операций, выполненных на депозитах.
|-------------|-----------|--------------|--------------|
| DD | D | AMOUNT | MEMBER |
|-------------|-----------|--------------|--------------|
| 1 | 1 | 1500.00 | 2 |
|-------------|-----------|--------------|--------------|
| 2 | 1 | -1500.00 | 2 |
|-------------|-----------|--------------|--------------|
| 3 | 1 | 350.00 | 4 |
|-------------|-----------|--------------|--------------|
| 4 | 2 | 1000.00 | 5 |
|-------------|-----------|--------------|--------------|
| 5 | 2 | -1000.00 | 5 |
|-------------|-----------|--------------|--------------|
| 6 | 3 | 100.00 | 5 |
|-------------|-----------|--------------|--------------|
| 7 | 3 | -10.00 | 5 |
|-------------|-----------|--------------|--------------|
Цель состоит в том, чтобы получить строку 3 только, поскольку она содержит информацию о несбалансированной сумме.Моя версия запроса об исключении сбалансированной суммы
SELECT dd,d,amount,SUM(amount) FROM test
group by dd
having sum(amount)>0
Кажется, он не работает.Кроме того, SQL Fiddle не работает, поэтому я не могу привести правильный пример.Я нашел DB Fiddle , но приведенный выше пример, кажется, не выполняется там.
Также кто-нибудь может сказать, какой тип запроса это будет?
EDIT
Ожидаемый результат:
|-------------|-----------|--------------|--------------|
| DD | D | AMOUNT | MEMBER |
|-------------|-----------|--------------|--------------|
| 1 | 1 | 1500.00 | 2 |
|-------------|-----------|--------------|--------------|
| 2 | 1 | -1500.00 | 2 |
|-------------|-----------|--------------|--------------|
| 3 | 1 | 350.00 | 4 |
|-------------|-----------|--------------|--------------|
| 6 | 3 | 100.00 | 5 |
|-------------|-----------|--------------|--------------|
| 7 | 3 | -10.00 | 5 |
|-------------|-----------|--------------|--------------|