у меня есть три столовых обеда, счет, пользователи!Я хочу рассчитать для каждого пользователя общие расходы, общие затраты из этих таблиц !!в одном запросе!я столкнулся с проблемой в расчете общей стоимости !!
общая стоимость = стоимость еды * общая еда на пользователя
(стоимость еды = сумма всех расходов пользователя / сумма всех пользователей еды) !!
когда я ром свой ниже запрос, он возвращает только одну строку!Я попробовал группу, но это дает мне неправильный вывод :( Кто-нибудь может мне помочь ??
{
SELECT u.name ,
((SUM(tot_expenseamount)/ SUM(tot_noofmeal))*tot_noofmeal) as total_Cost,
IFNULL(t.tot_expenseamount,0) AS tot_expense_amount ,
IFNULL(n.tot_noofmeal,0) AS tot_no_of_meal
FROM users u
LEFT JOIN (
SELECT e.user_id , SUM(e.expenseamount) AS tot_expenseamount
FROM expenses e
WHERE e.expensedate >= '2019-04-01' + INTERVAL 0 MONTH AND e.expensedate < '2019-04-01' + INTERVAL 1 MONTH
GROUP BY e.user_id ) t ON t.user_id = u.id
LEFT JOIN (
SELECT m.user_id , SUM(m.noofmeal) AS tot_noofmeal
FROM meals m
WHERE m.mealdate >= '2019-04-01' + INTERVAL 0 MONTH AND m.mealdate < '2019-04-01' + INTERVAL 1 MONTH
GROUP BY m.user_id ) n ON n.user_id = u.id
ORDER BY u.name
обеденный стол
расходный стол
таблица пользователей
ожидаемый результат