我有2个表,
t1:(uid,username);t2:(uid,uidfrom,uidto)
(三个字段全是id号);我现在要在浏览器把t2这个表显示出来,但是id号换成用户名。这种可以用一个select语句弄出来吗?我是新人,问题多,分又少,大家千万别嫌分少阿,谢谢,鞠躬。
t1:(uid,username);t2:(uid,uidfrom,uidto)
(三个字段全是id号);我现在要在浏览器把t2这个表显示出来,但是id号换成用户名。这种可以用一个select语句弄出来吗?我是新人,问题多,分又少,大家千万别嫌分少阿,谢谢,鞠躬。
from t2, t1 a,t1 b,t1 c
where t2.uid=a.uid
and t2.uidfrom=b.uid
and t2.uidto=c.uid
sorry,我没有把我的2个表说清楚。t1:(uid,username)
这里uid是主键;t2:(uid,uidfrom,uidto)
(三个字段全是id号)
这里uid不是主键了,也就说可以重复,比如
1,2,3
1,2,4
1,2,5
(所有id号都会在t1表里出现)不知道我有没有说清楚。如果这样写的话,会有重复记录,虽然可以用distinct,但这只是不显示重复的记录,不代表没有重复记录,我之后还要做其他操作的。
我有2个表,
t1:(uid,name)t1的数据:
(1,name1),(2,name2),(3,name3),(4,name4),(5,name5)
uid在这个表里是不可以重复的。t2:(uid,uidfrom,uidto)
uid在这个表里是可以重复的
t2的数据:
(1,2,3),(1,2,4),(1,2,5),(2,1,4),(2,3,4)
(t2里所有id号在t1里都有记录)
现在我要找出表t2里uid=1的所有记录,并按如下形式显示出来 (name2,name3),(name2,name4),(name2,name5)不能用distinct,请问这个怎么写?谢谢
inner join t1 c on b.uidfrom=c.uid where b.uid=1
from t1 a,t1 b
where (a.uid,b.uid) in (select uidfrom,uidto from t2 where uid=1);