学生表t1:id,name
好友表t2:id,fidselect a.name,b.name
from t1 a
left outer join
(select c.id,d.name from t2 c
left outer join t1 d on c.fid=d.id
) b on a.id=b.id
where a.id=1
好友表t2:id,fidselect a.name,b.name
from t1 a
left outer join
(select c.id,d.name from t2 c
left outer join t1 d on c.fid=d.id
) b on a.id=b.id
where a.id=1
我也是这样设计的
学生表
id name
1 张三
2 李四
3 王五
4 赵六
5 钱七
6 胡风好友表
id fid
1 5
1 6
根据id,把好友的id加入好友表中
这样根据表一的id便可在表二中找出对应的好友,
select id fid from table2 where id = :a_id (a_id是表一的id)
比如根据表一的张三,可以从表二得到张三的好友fid为5和6,但是根据5
确没法得到关连的1和6,也就是这样设计不能根据id为5的胡风得到其对应的
好友,请教该怎么设计?
同时胡风也有N条记录
也就是存在记录
1 5
以及
5 1要想不出现这种情况
好友表可以这么设计
id1,id2
但是查询相对麻烦select a.name,b.name
from t1 a
left outer join
(select c.id,d.name from t2 c
left outer join t1 d on c.id1=d.id or c.id2=d.id
) b on a.id=b.id
where a.id=1
其他高手有另外办法也请帮忙.谢谢...国庆快乐!