我有这样的设置:
Username | IP
Foo | 1.2.3.4
Bar | 1.2.3.4
Baz | 1.2.3.6
说我想找到用户“Foo”的替代帐户。这样的事情应该回归:
Username | IP
Bar | 1.2.3.4
我如何在一个SQL查询中执行此类操作?
答案 0 :(得分:2)
自我加入应该做的伎俩
这将为您提供具有多个
的所有用户Select * from
Table t1
INNER JOIN Table t2
ON t1.ip = t2.ip
and t1.Username <> t2.Username
您可以根据需要调整
e.g。
Where
t1.UserName = 'Foo'
答案 1 :(得分:1)
SELECT * FROM TableName
LEFT JOIN TableName AS TableName2
ON TableName2.IP = TableName.IP AND TableName2.Username != TableName.Username
WHERE TableName.Username = 'Foo'