Всем доброго
Такая проблемка:
есть таблица лицевых(@acc), и несколько таблиц, связанных с ней по лицевому.
Запрос
SELECT D.Quantity, D.Debet, C.Quantity, C.Credit
FROM @acc A
LEFT JOIN Debets D
ON A.acc = D.Account and D.ClosingYear = 2006
LEFT JOIN Credits C
ON A.acc = C.Account and C.ClosingYear = 2006
выдает такой результат
Quantity Debet Quantity Credit
31.0000 21.7000 .0000 .0000
т.е. в обеих таблицах для данного лицевого - по одной записе, и когда я делаю
SELECT SUM((D.Quantity), SUM(D.Debet), SUM(C.Quantity), SUM(C.Credit)
FROM @acc A
LEFT JOIN Debets D
ON A.acc = D.Account and D.ClosingYear = 2006
LEFT JOIN Credits C
ON A.acc = C.Account and C.ClosingYear = 2006
получаю
31.0000 21.7000 .0000 .0000
что меня и устраивает.
Но если в одной из таблиц (пусть - Credits) для этого лицевого несколько записей(пусть - две), то получаю по первому запросу
Quantity Debet Quantity Credit
31.0000 21.7000 .0000 .0000
31.0000 21.7000 23.0000 14.5000
и тогда второй запрос мне даёт неверную сумму данных из Debets:
62.0000 43.4000 23.0000 14.5000
Как с меньшей потери крови выкрутиться из ситуации? Хотелось бы, как идеальный вариант, чтобы первый запрос в таких случаях возвращал
Quantity Debet Quantity Credit
31.0000 21.7000 .0000 .0000
NULL NULL 23.0000 14.5000
Тогда просуммировать проблемы бы не составило. Если такое можно сделать, подскажите