【发布时间】:2018-03-01 08:59:01
【问题描述】:
我有三张桌子
users:
+----+--------+--------------+
| id | name | user_type_id |
+----+--------+--------------+
| 1 | Tawsif | 1 |
| 2 | Karim | 2 |
+----+--------+--------------+
transactions:
+----+---------+--------+
| id | user_id | amount |
+----+---------+--------+
| 1 | 1 | 10 |
| 2 | 2 | 10 |
| 3 | 1 | 10 |
+----+---------+--------+
course_fee:
+----+---------+-----+
| id | user_id | fee |
+----+---------+-----+
| 1 | 1 | 105 |
| 2 | 2 | 33 |
| 3 | 1 | 106 |
+----+---------+-----+
我想从交易和课程费用表中获取总行数、每个用户交易金额和费用的总和
所以我尝试了这个
SELECT users.id, SUM(transactions.amount) as total_transaction_amount,
count(transactions.id) as transaction_count,
sum(course_fee.fee) as total_fee,
count(course_fee.user_id) as total_fee_count
FROM users
INNER join transactions on transactions.user_id = users.id
INNER join course_fee on course_fee.user_id = users.id
GROUP by users.id
结果:
+----+--------------------------+-------------------+-----------+-----------------+
| id | total_transaction_amount | transaction_count | total_fee | total_fee_count |
+----+--------------------------+-------------------+-----------+-----------------+
| 1 | 40 | 4 | 422 | 4 |
| 2 | 10 | 1 | 33 | 1 |
+----+----------
它返回了错误的结果。我该如何解决这个问题?
【问题讨论】: