表t_Record
PID(主键) SendUserID(发送人) ReceiveUserID(接收人)
1 1 2
2 2 3
3 3 1
表t_User
PID(主键) UserName(用户名)
1 张三
2 李四
3 王五
查询出来这样的结果
PID(主键) SendUserName(发送人姓名) ReceiveUserName(接收人姓名)
1 张三 李四
2 李四 王五
3 王五 张三
即一个表对应另一个表中多个主键,要提取出来这样的结果,方法是把t_User当成两个表用。
select a.PID,b.UserName SendUserName,c.UserName ReceiveUserName
from t_Record a,t_User b,t_User c
where a.SendUserID=b.PID and a.ReceiveUserID=c.PID
本人sql比较弱,谁能讲讲原理,从数据库理论方面讲,谢谢。