我有 3 个表:帐户、交易、报表。帐户有许多交易和报表(外键是 account_id)。
我需要检索所有具有未结余额和/或未开票交易的帐户的帐户名称、已开票交易余额、未开票(待处理)交易的总数和计数以及最后对帐单日期。
此查询按预期返回数据:
选择
Account.id,Account.account_name,
Billed.balance, Pending.items,
Pending.amount, Stmnt.latest
从
帐户作为帐户
左连接
(选择
帐户ID,
(SUM(`Transaction`.`debit`) - SUM(`Transaction`.`credit`)) 作为余额
从
`事务`作为`事务`
在哪里
`事务`.`statement_id` > 0 AND
`事务`.`void` = 0
通过...分组
帐户ID
) 按计费方式 Billed.account_id = Account.id
左连接
(选择
`account_id`,
(SUM(`Transaction`.`debit`) - SUM(`Transaction`.`credit`)) 作为金额,
COUNT(id) 作为项目
从
`事务`作为`事务`
在哪里
`事务`.`statement_id` = 0 AND
`事务`.`void` = 0
通过...分组
帐户ID
) AS Pending ON Pending.account_id = Account.id
左连接
(选择
`account_id`,
MAX(Statement.statement_date) 最新
从
`语句`作为`语句`
在哪里
`声明`.`void` = 0
通过...分组
帐户ID
) AS Stmnt ON Stmnt.account_id = Account.id
通过...分组
帐户ID
拥有
Billed.balance > 0 或
待定.pending_ct > 0
订购方式
帐户名 ASC
我很难成功地将其转换为 CakePHP 2.1 查找或分页友好的选项。
任何想法将不胜感激。