Topic表 TID int Unchecked
TUID int Unchecked
TTopic varchar(255) Unchecked
TContents ntext Unchecked
TTime datetime Checked
TClickCount int Checked
TLastClickT datetime UncheckedReply 表RID int Unchecked
RTID int Unchecked
RUID int Unchecked
RTopic varchar(255) Unchecked
RContents ntext Unchecked
RTime datetime Checked
RClickCount int Checked
user表UID int Unchecked
UName varchar(32) Unchecked
UPassword varchar(32) Unchecked
问题:在BSS系统中,打开一篇主贴帖,查看内容时候,需要根据一篇帖子的固定ID值,查询主贴标题,作者姓名,内容;所以跟帖的标题,跟帖人姓名,跟帖内容,跟帖时间。
这道题怎么查?用三表联查?可是UNAME 如何让他区分哪个是跟帖人的哪个是回帖人的?
TUID int Unchecked
TTopic varchar(255) Unchecked
TContents ntext Unchecked
TTime datetime Checked
TClickCount int Checked
TLastClickT datetime UncheckedReply 表RID int Unchecked
RTID int Unchecked
RUID int Unchecked
RTopic varchar(255) Unchecked
RContents ntext Unchecked
RTime datetime Checked
RClickCount int Checked
user表UID int Unchecked
UName varchar(32) Unchecked
UPassword varchar(32) Unchecked
问题:在BSS系统中,打开一篇主贴帖,查看内容时候,需要根据一篇帖子的固定ID值,查询主贴标题,作者姓名,内容;所以跟帖的标题,跟帖人姓名,跟帖内容,跟帖时间。
这道题怎么查?用三表联查?可是UNAME 如何让他区分哪个是跟帖人的哪个是回帖人的?
from Topic t ,Reply r,user u
where t.TUID = r.RTID and t.TUID = u.UID and r.RUID = u.UID;试试,不知道对不对,我也是菜鸟。
我想了下 不太对- -
where 条件 判断的是发帖人和回帖人一样的时候的情况 也就是只显示自己发帖,自己回帖的人
这句话什么意思?
(select * from Topic join [user] on [user].UID=Topic.TUID) m,--这里得到的username是发帖人
(select * from Reply join [user] on [user].UID=Reply.RUID) n --这里得到的username是回帖人
where m.TID=n.RTID
抱歉抱歉,脑子里想的是把UID关联到user表里取出人名,改成where t.tuid = u.uid and r.ruid = u.uid
where t.tuid = u.uid and r.ruid = u.uid 的意思不是满足RUID 回帖人ID要等于UID 而UID又要等于 TUID 等价与TUID=UID=RUID 不是说必须回帖人和发帖人的UID需要一样么- -
(select * from Topic join [user] on [user].UID=Topic.TUID) m,--这里得到的username是发帖人
(select * from Reply join [user] on [user].UID=Reply.RUID) n --这里得到的username是回帖人
where m.TID=n.RTID请问必须是2次查询么?能不能用联合查询呢?