【发布时间】:2020-04-28 07:42:44
【问题描述】:
首先我有3个表,表的名称是“users”、“references”和“operations”。
结构如下..
users
+----+------------+----------------+
| id | name | referance_code |
+----+------------+----------------+
| 1 | Jack | 11111111 |
| 2 | Rose | 22222222 |
| 3 | Einstein | 33333333 |
| 4 | Che | 44444444 |
| 5 | Recep | 55555555 |
+----+------------+----------------+
用户相互引用的中间表, *如果references表中注册的user id也与users表中的id相关联,则users表中的reference code字段由references表中的“reference_user_id”字段绑定。
referances
+----+------------------+-------------------+
| id |register_user_id | referance_user_id |
+----+------------------+-------------------+
| 1 | 2 | 11111111 |
| 2 | 3 | 11111111 |
| 3 | 4 | 22222222 |
| 4 | 5 | 33333333 |
| 5 | 6 | 44444444 |
+----+------------------+-------------------+
我的最后一张交易表
transactions
+-----+--------------------+-------+-----------------------------+
| id | amount | user_id | type | referance_register_user_id |
+-----+----------+---------+-------+-----------------------------+
| 1 | +200 | 1 | 4 | 3 |
| 2 | +200 | 1 | 8 | 2 |
| 3 | -300 | 3 | 4 | 5 |
| 4 | -400 | 4 | 4 | 3 |
| 5 | -400 | 5 | 4 | 5 |
| 6 | -500 | 1 | 6 | 3 |
| 7 | -400 | 2 | 4 | 5 |
| 8 | -300 | 3 | 4 | 5 |
| 9 | -200 | 4 | 4 | 3 |
| 10 | -400 | 5 | 3 | 5 |
| 11 | -100 | 3 | 4 | 5 |
| 12 | -300 | 2 | 4 | 5 |
| 13 | -200 | 1 | 4 | 5 |
| 14 | +300 | 1 | 4 | 2 |
| 15 | +500 | 1 | 4 | 3 |
+-----+-----------+---------+-------+----------------------------+
sql output
+-----------+--------+
| username | amount |
+-----------+--------+
| Rose | 500 |
| Einstein | 700 |
+-----------+--------+
我想为“Jack”用户写一个代码,首先连接到references表,然后用references表中的“register_user_id”连接到操作表,得到id,referenced_register_user,引用类型4和8 ,并获得金额字段。
我希望输出是这样的
- 所以你自己的 user_id from user_id = 1
- 类型 4 或 8
- 最后一个reference_register_user_id 2 AND 3
【问题讨论】:
标签: mysql database join group-by sum