Имя таблицы: Пользователь
id| name |daily_salary | expense | days
1 A $100 $50 5
1 B $50 $30 5
1 C $200 $50 5
1 C $100 $50 3
2 D $200 $50 2
3 E $200 $50 1
Я хотел бы иметь расходы / (дневная зарплата * дни).
Из таблицы обычно сгруппированы идентификаторы.
Но если имена совпадают, идентификатор и имя должны быть сгруппированы.
Например, когда идентификатор равен 1, а имя равно C, $ 50 / {($ 200 * 5) + ($ 100 * 3)} .
Так должно быть
id | name | value
1 A $50/$500
1 B $30/$250
1 C $50/$1500
2 D $50/$400
3 E $50/$200
Вот запрос, который я пробовал.
select id, name, (select expense/sum(daily_salary*days) from user group by name)
from user
group by id
В сообщении об ошибке говорится, что подзапрос должен возвращать более одной строки .
Есть ли способ это исправить или правильно реализовать?
Спасибо