我目前正在研究MySQL的SQL查询,需要找出所有不在朋友列表中的朋友。这个查询语句看起来很简单,但我从很长一段时间尝试它,并且我没有成功。以下是我的表的模式。查询从单个表中获取所有非朋友用户
tbl_user
iUserID(INT)
userFullName(VARCHAR)
tbl_user_friend
iUserID(INT)
iFriendID(INT)
这里'tbl_user'包含用户的所有信息,'tbl_user_friend'包含他们的朋友关系。假设User1向User2发送请求,我们在'tbl_user_friend'中有1个记录([1,2]),之后User2接受这个请求,并且我在'[tbl_user_friend''中增加了一行,'tbl_user_friend' 1])。
所以现在我在'tbl_user_friend'([1,2],[2,1])中有2个条目。
并再次发送用户1至rquest用户3,并有3项表像下面 ([1,2],[2,1],[1,3])
但现在我想获取所有不是User1的朋友的用户。所以我期待像([3,User3],[4,User4],[5,User5])的结果。由于User3尚未接受请求。并且在期望的结果中,我添加了另外两个条目“用户4”和“用户5”,它们是没有与来自“tbl_user_friend”的用户1连接的用户(换句话说,没有向User1发送好友请求的用户)。
期待的结果=(朋友谁不接受我的请求+的朋友谁没有给我朋友的要求)
我很初学者到MySQL,目前靠在这些类型的问题及其解决方案。
你已经试过了什么mysql查询? – Ma3x