2015-10-31 2 views
0

Мой рекорд приходит как ниже после того, как я сделал присоединиться ..Как справиться с этой экстракцию

Application  Product  Collateral_Type Loan_Amount Collateral_Value 
Application#1 ProductA CollateralTypeX $1000   $800 
Application#2 ProductA CollateralTypeX $2000   $1200 
Application#2 ProductA CollateralTypeY $2000   $300 

Пожалуйста, советы, есть ли способ для меня, чтобы сделать суммирование только продуктом и избежать дублирования суммы в связи с Collateral_type ... это должно быть, как это ..

Application#1 $1000 
Application#2 $2000 

в ответ на Adish ...

Таблица 1

Применение Нет

Продукт

Loan_Amount

Таблица 2

Применение Нет

Collateral_Type

Collateral_Value

я наткнулся с определителем в рамках Cognos .. , но я не могу работать это правильно ..

ценит за совет еще раз, как я должен настроить определитель правильно так, чтобы значение суммы кредита не будет удвоено кратному количество залога ..

+0

вы возражаете обмен схемы, поэтому мы знаем, как таблицы взаимосвязаны? – Adish

ответ

0

Вы можете использовать подзапрос, чтобы получить DISTINCT данные, а затем сделать агрегация:

SELECT sub.Application, SUM(Loan_Amount) AS total 
FROM (SELECT DISTINCT Application, Product, Loan_Amount 
     FROM your_table) AS sub 
GROUP BY sub.Application; 

LiveDemo

+0

поблагодарить u lad2025 за демоверсию. я попытаюсь проверить, как я могу включить это в cognos fm. но у вас есть идея, как я могу применить определитель fm при обработке этого? это потому, что первая таблица, которую я показал, является приведенным представлением после того, как я сделал свое присоединение ... мне нужно подготовить список столбцов в соответствии с показанным в виде пакета, который будет опубликован для целей создания отчетов. однако .. сумма кредита, как правило, удваивается после присоединения. Особенно, когда вы приходите к кросс-таблице .. –

0

Для меня, это выглядит, как вы хотите max() (или min() или avg()), не sum():

select application, max(Loan_Amount) 
from (<whatever>) t 
group by application;