2015-05-09 65 views
0

直升机, 我曾查询是这样的:如何求和union查询结果?

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 

什么,我试图达到在上面的查询显示列Kurang_Gesek的SUM结果..

谁能帮助?

由于之前...

回答

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

喜它成功运行,但:上述结果查询第一行是649000,第二行是13225500,但是使用你的子查询,总和的结果是662205.它应该是649000 + 13115500 – Devisy

+0

这个查询应该返回一行一列,而我s是列中值的总和。 –

+0

嘿thankks ..这是我的错误...我之前格式化它,所以它改变了价值。我想投票给你,但我无法 – Devisy