Dane są dwie tabele o tej samej strukturze:
fm_expenses i fm_income
w expenses przechowywane są dane o wydatkach a w income o dochodach
ID int(11)
SUMA float(10,2)
DATA timestamp
CATEGORY int(3)
USERID int(11)
Chcę zliczyć sumę fm_income jako dochody a fm_expenses jako wydatki
robię to tak:
SELECT SUM(fm_expenses.SUMA) AS wydatki, SUM(fm_income.SUMA) AS dochody FROM fm_expenses LEFT JOIN fm_income ON fm_expenses.USERID = fm_income.USERID WHERE fm_expenses.USERID=1 AND fm_income.USERID=1
i wychodzą bzdury. Kosmiczne cyfry, zdaję sobie sprawę że skaszaniona relacja tu jest, ale za to zwraca to wszystko w ładnym formacie (dwa pola, wydatki i dochody).
Wykombinowałem jescze jeden sposób:
SELECT SUM(SUMA) AS dochody FROM fm_income WHERE USERID=1 UNION SELECT SUM(SUMA) AS wydatki FROM fm_expenses WHERE USERID=1
Zwraca prawidłowe liczby ale wszystko w polu dochody i jako dwa rekordy.
Jak to ugryźć?