2015-05-09 2 views
0

Helo, я работал запрос, как это:Как суммировать результат запроса соединения?

SELECT 
if (cf_1095-accountingpaidamount>0,FORMAT(cf_1095-accountingpaidamount, 0, 'de_DE'),0) as Kurang_Gesek 

FROM vtiger_servicecontracts, vtiger_crmentity, vtiger_servicecontractscf, vtiger_campaign, vtiger_contactdetails, vtiger_accounting, vtiger_accounting_payments 

WHERE 
vtiger_accounting_payments.idtransaction=vtiger_accounting.accountingid 
and 
vtiger_accounting.accountingrelated2=vtiger_servicecontracts.servicecontractsid 
and 
vtiger_contactdetails.contactid=vtiger_servicecontracts.contactid and 
vtiger_campaign.campaignid=cf_1155 
and vtiger_crmentity.crmid=vtiger_servicecontracts.servicecontractsid 
and vtiger_servicecontractscf.servicecontractsid=vtiger_servicecontracts.servicecontractsid 
and accountingtype="Pelunasan Gesek" 
group by campaignname 

UNION 

SELECT 
if (cf_1095>0,FORMAT(cf_1095, 0, 'de_DE'),0) as Kurang_Gesek 

FROM vtiger_servicecontracts, vtiger_crmentity, vtiger_servicecontractscf, vtiger_campaign, vtiger_contactdetails, vtiger_accounting, vtiger_accounting_payments 

WHERE 
vtiger_accounting_payments.idtransaction=vtiger_accounting.accountingid 
and 
vtiger_accounting.accountingrelated2=vtiger_servicecontracts.servicecontractsid 
and 
vtiger_contactdetails.contactid=vtiger_servicecontracts.contactid and 
vtiger_campaign.campaignid=cf_1155 
and vtiger_crmentity.crmid=vtiger_servicecontracts.servicecontractsid 
and vtiger_servicecontractscf.servicecontractsid=vtiger_servicecontracts.servicecontractsid 

and accountingpaidamount=accountingamount 

group by campaignname 
having length(GROUP_CONCAT(accountingtype SEPARATOR " "))=12 

Что я пытаюсь достичь будет отображать SUM Результат столбца Kurang_Gesek в запросе выше ..

Может кто-нибудь помочь?

Благодаря перед ...

ответ

0

Так просто обернуть запрос с другим SELECT:

SELECT t. *, SUM(t.Kurang_Gesek) 
FROM (
SELECT 
... 
UNION 
... 
) t 
GROUP BY t.some_column_you_need 
1

Попробуйте использовать подзапрос:

select sum(Kurang_Gesek) 
from (<your query here>) q 
+0

привет он успешно работать, но: запрос выше результата строка 1 равна 649000, а строка 2 равна13225500, но с использованием вашего подзапроса результат равен 662205. он должен быть 649000 + 13115500 – Devisy

+0

. Этот запрос должен возвращать одну строку с одним столбцом, который i s сумма значений в вашем столбце. –

+0

привет, спасибо .. это была моя ошибка ... я отформатирую ее перед суммой, чтобы она меняла значение. Я хочу проголосовать, но я не могу – Devisy

Смежные вопросы