Вот моя таблица trans:
id // user_id // money // type // date
1 1001 20 1 2015-11-1
2 1001 50 1 2015-11-1
3 1001 50 2 2015-11-2
4 1001 50 2 2015-11-3
5 1002 10 2 2015-11-3
6 1002 20 2 2015-11-1
7 1002 70 3 2015-11-1
8 1003 80 1 2015-11-2
9 1003 10 1 2015-11-3
10 1003 20 1 2015-11-3
Мне нужен вывод:
id // user_id // sum_money_1 // sum_money_2 // sum_money_3 // date
1 1001 10 10 20 2015-11-1
2 1001 20 10 30 2015-11-2
3 1001 30 10 10 2015-11-3
4 1002 90 20 10 2015-11-1
5 1002 20 40 20 2015-11-3
6 1003 80 20 30 2015-11-2
7 1003 30 10 10 2015-11-3
Это означает, что сумма денег группируется каждый день, каждый тип и отображение по каждому идентификатору.
Я пробовал это:
SELECT a.id, a.user_id,
(SELECT sum(a1.money) FROM trans a1 where a1.type = 1) AS sum_type1,
(SELECT sum(a2.money) FROM trans a2 where a2.type = 1) AS sum_type2,
(SELECT sum(a3.money) FROM trans a3 where a3.type = 3) AS sum_type3,
a.date FROM trans a group by a.user_id,a.date
Но это не удалось, и возвращается как:
id // user_id // sum_money_1 // sum_money_2 // sum_money_3 // date
1 1001 90 70 80 2015-11-1
2 1001 90 70 80 2015-11-2
3 1001 90 70 80 2015-11-3
4 1002 90 70 80 2015-11-1
5 1002 90 70 80 2015-11-3
6 1003 90 70 80 2015-11-2
7 1003 90 70 80 2015-11-3
Он суммирует все деньги каждому пользователю.