![]() |
#11 |
Участник
|
Ой, база данных SQL обнаружила ошибку потому, что я забыл убрать order by в while select custTable. То есть итоговый запрос выглядит так:
X++: while select custTable outer join contactPerson where custTable.ContactPersonId == contactPerson.ContactPersonId outer join custGroup where (custGroup.dataAreaId == contactPerson.dataAreaId || custGroup.dataAreaId != contactPerson.dataAreaId) && custTable.CustGroup == custGroup.CustGroup outer join contractTable where (contractTable.dataAreaId == custGroup.dataAreaId || contractTable.dataAreaId != custGroup.dataAreaId) && contractTable.RContractPartnerCode == custTable.AccountNum && contractTable.RContractPartnerType == RContractPartnerType::Cust outer join contractTypes where (contractTypes.dataAreaId == contractTable.dataAreaId || contractTypes.dataAreaId != contractTable.dataAreaId) && contractTypes.ContractCode == contractTable.RContractCode outer join RContractAccount, RContractCode, sum(AmountMST) from custTrans group by RContractAccount, RContractCode where (custTrans.dataAreaId == contractTypes.dataAreaId || custTrans.dataAreaId != contractTypes.dataAreaId) && custTrans.RContractAccount == contractTable.RContractAccount && custTrans.RContractCode == contractTable.RContractCode { this.CustInfo = custTable.AccountNum + ", " + contactPerson.Name; this.CustGroupName = custGroup.Name; this.ContractRegNo = contractTable.RContractAccount; this.ContractNo = contractTable.RContractNumber; this.ContractGroupName = contractTypes.ContractCodeName; this.Amount = custTrans.AmountMST; this.insert(); } // end while Да, кстати. В таблице CustTrans нет записей, соответствующих записям из RContractTable, но ведь используется OUTER join.
__________________
I believe! Последний раз редактировалось koraman; 01.09.2008 в 12:13. |
|