I have a pretty complex SQL query as shown in this fiddle
SELECT payer_payment.payer_id,
Sum(payer_payment.amount) AS total_paid,
Sum(payer_payment.pays * payments_share.single_share) AS fair_share
FROM payers
INNER JOIN (payer_payment
INNER JOIN (SELECT payment_id,
Sum(amount) / Sum(pays) AS single_share
FROM payer_payment
GROUP BY payment_id) AS payments_share
ON payer_payment.payment_id =
payments_share.payment_id)
ON payers.id = payer_payment.payer_id
WHERE payers.user_id = 1
GROUP BY payer_payment.payer_id;
In the fiddle it runs fine on MySQL but when I run it on a SQLite database it either throws an error citing:
(1 no such column: payer_payment.payer_id)
When the column clearly does exist.
or simply returns 0 results, depending on the SQLite implementation (WebSQL vs SQLite.js)
What is the reason for this and is it possible to make my query more database agnostic?