MySQL查询从不同的表中获取成员的新位置

MySQL查询从不同的表中获取成员的新位置,mysql,sql,Mysql,Sql,我试图从两个表中获取成员的新排名,不包括具有相同排名和空值的成员。我已经尝试了很多查询,但是它们返回所有成员的列表和null 选择m.member\u id,m.rank\u id old\u rank\u id, 如果mp.tpc_x>mp.tpc_y,mp.tpc_y,mp.tpc_x成对出现, 选择p.rank\u id 来自绩效奖金 p.rank\u id=m.rank\u id上的左连接成员m 其中pairs>=p.pairs\u count AND pairs您可以显示给定数据的期望

我试图从两个表中获取成员的新排名,不包括具有相同排名和空值的成员。我已经尝试了很多查询,但是它们返回所有成员的列表和null

选择m.member\u id,m.rank\u id old\u rank\u id, 如果mp.tpc_x>mp.tpc_y,mp.tpc_y,mp.tpc_x成对出现, 选择p.rank\u id 来自绩效奖金 p.rank\u id=m.rank\u id上的左连接成员m
其中pairs>=p.pairs\u count AND pairs您可以显示给定数据的期望结果吗?我编辑了上面的一些描述,还添加了我得到的演示结果和期望结果。谢谢,我猜您想筛选出旧的\u rank\u id为0的记录。因为old_rank_id是m.rank_id的别名,所以在查询结束时使用其中m.rank_id=0。
+-------------+----------------+-----------------------+
| member_id   | member_name    | rank_id               |
+-------------+----------------+-----------------------+
| 10000       | XYZ            | 0                     |
| 10001       | YSA            | 0                     |
+-------------+----------------+-----------------------+
+-------------+----------------+----------+
| member_id   | tpc_x          | tpc_y    |
+-------------+----------------+----------+
| 10000       | 150            | 100      |
| 10001       | 300            | 200      |
+-------------+----------------+----------+
+-----------+------------+----------------+-------------+
| rank_id   | rank_name  | pairs_count    | max_pairs   |
+-----------+------------+----------------+-------------+
| 1         | Student    | 100            | 199         |
| 2         | Teacher    | 200            | 399         |
+-----------+------------+----------------+-------------+
+-------------+-------------+---------------+
+ member_id   | old_rank_id | new_rank_id   |
+-------------+-------------+---------------+
| 10000       | 0           | 1             |
| 10001       | 0           | 2             |
| 10002       | 4           | 3             |
| 10003       | 5           | null          |
+-------------+-------------+---------------+
+-------------+-------------+---------------+
+ member_id   | old_rank_id | new_rank_id   |
+-------------+-------------+---------------+
| 10000       | 0           | 1             |
| 10001       | 0           | 2             |
+-------------+-------------+---------------+