0

我有一张桌子users

id, ip, opponent
1, 123.123.123, 2
2, 123.123.123, 1
3, 123.123.123, NULL

我需要查询,向我显示不重复的与 ips 的列表。

ip_first_opponent, ip_second_opponent

我该怎么做,我是 sql 的新手。

4

1 回答 1

0

如果您想获取 id x 的用户的所有对手的 ip,您可以执行以下操作:

SELECT DISTINCT(opponents.id) 从用户作为我,用户作为对手 WHERE me.id=x 和 me.opponentId=opponents.id

(因此,您将表 users 连接到自身,并限制对手 id 与对手的 id 相同,并且 DISTINCT 仅输出不同的 ips。)

编辑:由于您要选择用户及其对手的 ip,因此查询变为:

SELECT DISTINCT me.ip,从用户作为我的对手.ip,作为对手的用户 WHERE me.opponentId=opponents.id

于 2013-08-25T21:14:50.020 回答