我有这个用户的geoloc列表(id,lat,long):
user1, 123, 456
user2, 321, 123
user3, 456, 462
在我的应用程序中,用户(例如user1)获取地图并可以单击其他用户。这导致我的geoloc_log(id,lat,long,other_id)中的条目(other_id是用户点击的用户的ID: - )):
user1, 321, 123, user2 // user1 clicked on user2 when user2 was at its position
user3, 123, 456, user1 // same, but user3 and user1
所以,当user1从geoloc中提取列表时,我想排除他自己和他点击的那些。
当user1拉出地理位置列表时,它看起来像:
user3, 456, 462
My SQL sofar看起来像这样:
SELECT * FROM geoloc WHERE id != 'user1' AND ...
我无法理解如何将其他表格包含在不包含哪些内容的表格中: - /我该怎么做?
如果user1从_log表中点击user2,则user1将不会从geoloc列表中获取user2,除非user2移动...
答案 0 :(得分:3)
如果我理解得很好,那应该是
and id NOT IN (select other_id from geoloc_log where id = 'user1')
答案 1 :(得分:0)
如果我理解得比查询会像这样
select * from geoloc where id!='user1' and not in (select other_id from geoloc_log where id='user1' )