SQL SERVER根据查询结果作为条件,在另一个表中查询,两个结果连接起来.

表结构如上图.
①我想先在Friends表中查询UserID所对应的所有FriendID.我的查询语句是select FriendID from Friends where UserID=10000

②以查询结果作为条件,当ID等于查询结果的一行时,获得结果,我的查询语句是select Nickname,HeadID from Users where ID in(select FriendID from Friends where UserID=10000)

③上面这条查询只能得到Users表中的数据,我想把①②所查询的结果连接起来,列变成FriendID,Nickname,HeadID.不知道如何写了.

select t1. FriendID,t2. Nickname,t2.HeadID
from Friends t1 inner join Users t2 on t1.FriendID=t2.id
where t1.userid=10000

这样试试先

追问

可以了,非常感谢.可以告诉下我上面t1和t2是什么东西吗?我上网百度学习下.

追答

t1和t2是我定义的表别名的,因为Friends 这样写太长,而且不清晰,直接写t1,t2简单并且清晰

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答