Updated SQL scratchpad
git-svn-id: file:///svn-source/pmgr/branches/surplus_account_20090815@582 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -44,15 +44,29 @@ GROUP BY `status` WITH ROLLUP;
|
|||||||
|
|
||||||
|
|
||||||
-- Check that transaction totals add up correctly
|
-- Check that transaction totals add up correctly
|
||||||
SELECT T.id, T.amount, SUM(E.amount) AS Eamount
|
SELECT T.id, T.type, T.amount,
|
||||||
|
-- T.type, A.type, E.crdr,
|
||||||
|
SUM(IF(E.account_id = T.account_id,
|
||||||
|
IF(A.type IN ('ASSET','EXPENSE') XOR E.crdr='DEBIT',-1,1),0)
|
||||||
|
*E.amount) AS Tamt,
|
||||||
|
SUM(IF(E.account_id = T.account_id,
|
||||||
|
0,IF(A.type IN ('ASSET','EXPENSE') XOR E.crdr='DEBIT',-1,1))
|
||||||
|
*E.amount) AS Oamt,
|
||||||
|
COUNT(E.id) AS Ecnt
|
||||||
FROM pmgr_transactions T
|
FROM pmgr_transactions T
|
||||||
-- LEFT JOIN pmgr_statement_entries E ON E.transaction_id = T.id
|
-- LEFT JOIN pmgr_statement_entries E ON E.transaction_id = T.id
|
||||||
LEFT JOIN pmgr_ledger_entries E ON E.transaction_id = T.id
|
LEFT JOIN pmgr_ledger_entries E ON E.transaction_id = T.id
|
||||||
WHERE
|
LEFT JOIN pmgr_accounts A ON A.id = T.account_id -- E.account_id
|
||||||
E.account_id = T.account_id
|
-- WHERE
|
||||||
|
-- E.account_id != T.account_id
|
||||||
GROUP BY T.id
|
GROUP BY T.id
|
||||||
HAVING T.amount <> Eamount
|
HAVING
|
||||||
;
|
(T.type = 'INVOICE' AND Tamt <> T.amount)
|
||||||
|
OR
|
||||||
|
(T.type <> 'INVOICE' AND Oamt <> T.amount)
|
||||||
|
OR
|
||||||
|
(Tamt * -1 <> Oamt)
|
||||||
|
|
||||||
|
|
||||||
-- Verify that statement entries all have the correct type
|
-- Verify that statement entries all have the correct type
|
||||||
SELECT SE.id, SE.type, T.id, T.type
|
SELECT SE.id, SE.type, T.id, T.type
|
||||||
|
|||||||
Reference in New Issue
Block a user