1
Select 1 
from Friend 
where Friend.UserID = 1 
  and FriendID = (select User.UserID from User where UserName = 'friend_user');

我要做的是检查用户是否与另一个用户是“朋友”。因此,当用户导航到“foo.com/user/username”时,用户名被传递,这就是我进行检查的时候。我宁愿不使用两个选择,但似乎这是唯一的方法。任何有关完成此类任务的最佳方式的建议将不胜感激。

4

2 回答 2

1

您可以使用 aJOIN代替:

Select 1 
from Friend f
join User u
    on f.FriendID = u.UserID
    and u.UserName = 'friend_user'
where 
    f.UserID = 1;
于 2013-02-07T20:08:24.770 回答
1

回答:“这行得通,但是如果我想从 User 表中选择一些东西,比如 Friends UserName 之类的呢?-”

Select u.username, count(f.friends)
from Friend f
join User u
    on f.FriendID = u.UserID
    and u.UserName = 'friend_user'
where 
    f.UserID = 1;
于 2013-02-07T20:51:03.123 回答